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 » » Объектно-ориентированное программирование » Проблемма видимо с классом.

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

1. UserID - 19 Сентября, 2006 - 22:11:19 - перейти к сообщению
Класс, который читает содержимое директории и выводит список только каталогов. По идее так должно быть, но в итоге массив с директориями получается пустым, хотя каталоги есть.

CODE (text):
скопировать код в буфер обмена
  1.  
  2. class directory {
  3.        
  4.         // Path to chosen directory
  5.         var $dir_path;
  6.         // Array of existen directories
  7.         var $dir_list;
  8.         // Name of a chosen directory
  9.         var $dir_name;
  10.        
  11.         // Class construct
  12.         function directory()
  13.         {
  14.                 $dir_list = array();
  15.         }
  16.        
  17.         // Read content of chosen directory
  18.         function read_dir()
  19.         {
  20.                 $this->handle = @opendir($this->dir_path);
  21.                 if(!$this->handle)
  22.                 {
  23.                         $this->halt("Unable to open chosen directory.");
  24.                 }
  25.                 while($this->dir = readdir($this->handle))
  26.                 {
  27.                         if($this->dir != "." && $this->dir != ".." && is_dir($this->dir))
  28.                         {
  29.                                 @array_push($this->dir_list, $this->dir);
  30.                         }
  31.                 };
  32.                 closedir($this->handle);
  33.                 return $this->dir_list;
  34.         }
  35.        
  36.         // Create new directory
  37.         function mk_new_dir()
  38.         {
  39.                 $this->mk_dir = @mkdir($dirname, 0770);
  40.                 if(!$this->mk_dir)
  41.                 {
  42.                         $this->halt("Unable to create new directory or directory exist.");
  43.                 }
  44.                 return;
  45.         }
  46.        
  47.         // Delete chosen directory
  48.         function delete_dir()
  49.         {
  50.                 $this->del_dir = @rmdir($dirname);
  51.                 if(!$this->del_dir)
  52.                 {
  53.                         $this->halt("Unable to delete chosen directory.");
  54.                 }
  55.                 return;
  56.         }
  57.        
  58.         // If error, display it
  59.         function halt($msg)
  60.         {
  61.                 $error_1 = "<center><small><b>Error:</b> ";
  62.                 $error_2 = "</small></center>";
  63.                 die($error_1."".$msg."".$error_2);
  64.         }
  65. };
  66.  
  67. $dr = new directory;
  68. $dr->dir_path = $DOCUMENT_ROOT;
  69. $dr->read_dir();
  70. print_r($dr->dir_list);
  71.  


Что делать? Почему массив dir_list пустой?
2. ARTY - 20 Сентября, 2006 - 19:33:19 - перейти к сообщению
Есть вариант на функционале, т.к. классы не нравятся мне. Пример во вложении.
3. UserID - 20 Сентября, 2006 - 19:44:17 - перейти к сообщению
ARTY пишет:
Есть вариант на функционале, т.к. классы не нравятся мне. Пример во вложении.


Хм, спасибо, интересный скрипт.

 

Powered by ExBB FM 1.0 RC1