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