Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: не определяет папку
Форумы портала PHP.SU » PHP » Программирование на PHP » не определяет папку

Страниц (1): [1]
 

1. AndreyT - 27 Марта, 2011 - 13:56:06 - перейти к сообщению
хочу сделать вывод файлов в заданной папке и если этот файл является каталогом после имени выводится что это каталог, сделал тестовую папку "cat_1" в которой есть файл "a.txt" и папка "in_cat_1"

PHP:
скопировать код в буфер обмена
  1.  
  2. function getFilesAndFolders($folderName){
  3.         $folder = opendir($folderName);
  4.        
  5.         echo "Каталог - $folderName:<ul>\n";
  6.        
  7.         while(($cur_file = readdir($folder)) !== false){
  8.                 echo "<li>$cur_file";
  9.                 if(is_dir($cur_file)) echo " (каталог)";
  10.                 echo "</li>";
  11.         }
  12.        
  13.         echo "</ul>\n";
  14.        
  15.         closedir($folder);
  16. }
  17.  
  18.  
  19. getFilesAndFolders("cat_1");
  20.  


скрипт выводит:
Каталог - cat_1:
. (каталог)
.. (каталог)
a.txt
in_cat_1

почему после in_cat_1 не выводится что это каталог?
2. Champion - 27 Марта, 2011 - 13:58:51 - перейти к сообщению
может быть в is_dir надо передать полный путь? Или перейти chdir-ом в ту папку, которая передается в функцию?
3. AndreyT - 27 Марта, 2011 - 14:01:50 - перейти к сообщению
Champion пишет:
может быть в is_dir надо передать полный путь? Или перейти chdir-ом в ту папку, которая передается в функцию?

спасибо помогло Радость
сделал вот так

PHP:
скопировать код в буфер обмена
  1. if(is_dir($folderName ."/". $cur_file)) echo " (каталог)";
4. JustUserR - 28 Марта, 2011 - 00:12:49 - перейти к сообщению
AndreyT В общем случае для осуществления решения предполагаемой группы задач, заключающихся в проведении последовательного анализа вложенных объектов файловой системы, целесообразно обеспечивать разделение текущего используемого значения базового уровня ассоциированного переменного информационного поля, осуществоляющего дифференицию для текущего анализируемого расположения вложенных объектов файловой системы, что позволяет обеспечивать униифкацию поддержания процесса по организации неограниченного вложенного просмотра файловой структуры, формирования действенных составляющих элементов для которого в нижнем базовом фунциониальном уровне трактования может быть осуществлено в виде chdir($sel_dir); func($sel_dir); chdir("..")

 

Powered by ExBB FM 1.0 RC1