ID: 31377
User updated by: intro at intro dot one dot pl
Reported By: intro at intro dot one dot pl
Status: Open
Bug Type: Directory function related
Operating System: linux
PHP Version: 5.0.3
New Comment:
Hmmmm i've done something else. Function filetype. And after use
filetype on some folder i have many warnings that "Lstat failed for
file". And the same way i think works "is_dir". Only a few files and
folders are with no this warning and is showing as dir or file etc. The
same is on other functions as is_file etc. My last code in tests:
<?php
$directorytoread = "/home"
$files=scandir($directorytoread);
$listdirindir = array();
// var_dump($files);
// all files are listing which is in folder /home
foreach ($files as $file)
{
if ( filetype($file) == "dir" )
echo "File \"$file\" is dir and ";
if (is_dir($file))
{
array_push($listdirindir,$file);
echo "dir \"$file\" added<br/>";
}
}
print_r($listdirindir);
?>
...and my examples result is:
many of warnings +
File "." is dir and dir "." added
File ".." is dir and dir ".." added
+ many of warnings +
File "c" is dir and dir "c" added
+ many of warnings +
Array ( [0] => . [1] => .. [2] => c )
Previous Comments:
------------------------------------------------------------------------
[2005-01-02 12:14:33] intro at intro dot one dot pl
by "var_dump($files);" after scandir everything are listing good.
Permissions etc. is ok and files and folders are readable. I checked
some others dirs and sometimes files is showing as dir (for example
.directory and others hidden files).
"Please try using this CVS snapshot:" still doesn't work correctly.
------------------------------------------------------------------------
[2005-01-02 07:45:53] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.0-win32-latest.zip
Also, add 'var_dump($files);' after the scandir() line and check the
output. (permissions..?)
------------------------------------------------------------------------
[2005-01-02 00:18:27] intro at intro dot one dot pl
Description:
------------
For example i have 4 folders in /home directory on unix platform
(a,b,c,d) and php5. The script:
I have strange thing that function is_dir not always shows every dirs
as it is dir. In my example script is_dir returned only "c" as dir and
the rest (a,b,d) as file.
Reproduce code:
---------------
<?php
$files=scandir("/home");
foreach ($files as $file)
{
if (is_dir($file))
{
echo "dir: $file";
}
}
?>
Expected result:
----------------
dir: a dir: b dir: c dir: d
Actual result:
--------------
dir: c
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=31377&edit=1