[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Чтение файлов из каталога
Nidermayer
Добрый день.
Не могу разобраться с примитивной задачей: прочитать список файлов из папки. Вроде все просто, но не получается.

Мой скрипт расположен в папке Х. В этой же папке расположена папка files, внутри которой файлы. Когда читаю список файлов - выдает только те файлы, которые есть и в родительской папке, и в дочерней.
К примеру в дочерней есть файлы 1, 2, 3, 4, 5, а в родительской 3, 5. Выдаст 3, 5, остальные проигнорит. И если в родительской папке есть пачка файлов - а в дочерней только 2 - эти 2 и прочтутся (т.е. берется полное совпадение).

Где косячу ??

//  Определяем читаемый каталог
$catalog = "./files";
$dir = opendir($catalog);
// Читаем содержимое директории
while ( $name = readdir($dir)){
if(is_file($name))
echo '[' . $name . ']<br>';
if(is_dir($name))
echo '{{{' . $name . '}}}<br>';
}

//Выходим из директории
closedir($dir);
killer8080
для начала условие цикла поправь как требует мануал http://ua2.php.net/manual/ru/function.read...hp#example-2570
while ( ($name = readdir($dir)) !== false){

во вторых правильно ли прописан путь?
$catalog = "./files";

./files означает папка files в текущем каталоге. Сделай
echo realpath($catalog);
чтобы увидеть реальный путь на который указывает переменная.
Nidermayer
Мда. Сделал, как советовано и требовано в мануале.
Все ОК после того, как убрал условия проверки по типу - файл или каталог (тупо вывожу список и норм). ТОлько как проверять-то - файл или папка ??



$catalog = './files';

$dir = opendir($catalog);
echo realpath($catalog).'<br>';
// Читаем содержимое директории
while (false !== ($name = readdir($dir))){

echo $name . '<br>';
}
closedir($dir);

echo '<hr>';

$dir = opendir($catalog);
while (false !== ($name = readdir($dir))){
if(is_file($name) === true){
echo "Файл с именем : ".$name."<br/>";
}
if(is_dir($name) === true ){
echo "папка с именем : ".$name."<br/>";
}
}


Первый вариант выдает весь список, как и положено. Второй - первичная проблема не решена.


 ! 

М
используй теги для оформления кода
killer8080
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.