Re: is_dir & is_file bugs?
| From: | Afan Pasalic | Date: | Tue, 08 Feb 2005 22:13:02 +0000 |
| Subject: | Re: is_dir & is_file bugs? | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-208300@lists.php.net to get a copy of this message | ||
Yup! That's the one! I was missing PATH...
:)
Thank you very much for such a nice explanation!
-afan
M. Sokolewicz wrote:
Matt M. wrote:or at least the correct one. Right now, what's hapenning is this: imagine you have this layout: / /product_images/ /product_images/dir1/ /product_images/file1.ext What your script is doing:$path = 'product_images'; $handle = opendir($path); while (false !== ($file = readdir($handle))) {try the absolute path in is_dir and is_fileif ($file != "." && $file != "..") {echo $file;if (is_dir($file)) { echo ' <-- folder<br>'; $folders[] = $file; } elseif (is_file($file)) { echo ' <-- image<br>'; $images[] = $file; } else { echo ' <-- ???<br>'; } }}$handle = opendir($path); while (false !== ($file = readdir($handle))) { // $file = '.' // on first run // $file = '..' // on 2nd run // $file = 'dir1' // on 3rd run // $file = 'file1.ext' // on 4th run if ($file != "." && $file != "..") { echo $file; if (is_dir($file)) // it's not, since that file doesn't exist in the place PHP is looking for it. // because, does ./dir1/ exist? no! does ./product_images/dir1/ exist? yes! // But that's not what you're checking ;) { echo ' <-- folder<br>'; $folders[] = $file; } elseif (is_file($file)) // same thing as with is_dir() { echo ' <-- image<br>'; $images[] = $file; } else { echo ' <-- ???<br>'; } } }