|
|
|
| Есть маленький код:
<?php
$folder = 'name_dir';
$dir1 = opendir($folder);
while(($line = readdir($dir1)) !==false)
{ print "Дирректория ".$line." не пуста";
}
?>
|
Но есть такой факт, что при чтении дирректории в ней полюбому есть . и ..
Так вот вопрос в том как заставить функцию readdir не видеть эти b]. [/b]и .. | |
|
|
|
|
|
|
|
для: totx
(13.08.2005 в 11:10)
| | Это обычно явно указывается условием if
<?php
$folder = 'name_dir';
$dir1 = opendir($folder);
while(($line = readdir($dir1)) !==false)
{
if($line != "." && $line != "..") print "Дирректория ".$line." не пуста";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(13.08.2005 в 12:07)
| | Этим if($line != "." && $line != "..") Вы всего лишь закрываете себе глаза на . и ..
Не верите, лего проверить скриптом:
<?php
$folder = 'name_dir';
$dir1 = opendir($folder);
while(($line = readdir($dir1)) !==false)
{
if($line != "." && $line != "..") print "Директория ".$line." не пуста";
else print "Директория ".$folder." пуста";
}
?>
|
И если в дирректории name_dir нет папок, то этот скрипт выведет сообщение print "Директория ".$folder." пуста"; аж 2 раза, что подтверждает пресутствие этих самых . и ..
А я ведь спрашивал ни как мне глазки закрыть, а как закрыть глазки функции readdir
Ну что есть предложения ? | |
|
|
|
|
|
|
|
для: totx
(14.08.2005 в 10:08)
| | А понял... обычно логику выполнения задачи и печати результата стараются разделять - если вам требуется вывести фразу один раз, её и не следует помещать в цикл while - так как вероятность совершения ошибки велика. Обычно вводят логический флаг, например, $is_dir_empty, который принимает значение true, когда директория пуста и false, в противном случае.
<?php
$folder = 'name_dir';
$dir = opendir($folder);
$is_dir_empty = true;
while(($line = readdir($dir)) !==false)
{
if($line != "." && $line != "..")
{
$is_dir_empty = false;
break;
}
}
if($is_dir_empty) print "Директория ".$folder." не пуста";
else print "Директория ".$folder." пуста";
closedir($dir);
?>
|
| |
|
|
|
|
|
|
|
для: totx
(13.08.2005 в 11:10)
| | А ещё, начиная с версии 4.3.0 появилась функция glob
http://php.rinet.ru/manual/ru/function.glob.php
На порядок удобнее с файлами работать стало | |
|
|
|