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. foozzi - 15 Ноября, 2011 - 00:41:33 - перейти к сообщению
форма
PHP:
скопировать код в буфер обмена
  1. <form enctype="multipart/form-data" action="upload.class.php" method="post">
  2.  <input type="file" name="filename" size="45">
  3.  <input type="submit" value=" Грузить! " name="upload">
  4.  </form>
  5.  
  6.  <?PHP
  7.  
  8.    if(isset($_FILES['file'])){
  9.  
  10.      include"upload.class.php";
  11.      $upload_class= new file_upload();
  12.  
  13.      $upload_class->file_server_patch="uploads";
  14.      $upload_class->file_extended = array(".jpg", ".gif", ".png"); // Типы файлов передающиеся ядру на обработку
  15.      $upload_class->file_info = $_FILES['file']; // Инфо о файле
  16.      $upload_class->file_new_name = dirname (__FILE__).$upload_class->file_server_patch; // Имя файла не изменное
  17.      $upload_class->file_size=70000000;
  18.  
  19.      //  Вызываем метод загрузки файла
  20.  
  21.      $upload_class->file_upload_data();
  22.  
  23.      unset($upload_class);
  24.  
  25.  }


класс

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.        ini_set('display_errors',1);
  4.      error_reporting(E_ALL);
  5.    
  6.    class file_upload
  7.  
  8.    {
  9.  
  10.      public $file_info = array();  //  Массив с информацией о исходном файле - $_FILES['file_name']
  11.  
  12.      public $file_server_patch = ""; //Путь по которому на сервере хранятся закачанные файлы # по умолчанию кидаем в корень
  13.  
  14.      public $file_new_name = ""; //Новое имя файла (то под каки он будет лежать на сервере # при пустом значении то имя с которым файл был передан
  15.  
  16.      public $file_max_size = 0; // Максимально допустимый размер закачиваемого на сервер файла # При пустом значении размер передаваемого файла
  17.  
  18.      public $file_extended = array(); // Массив с допустимыми для закачиваемого файла расширениями # пустой массив берем расширение исходного файла
  19.  
  20.      public $rezult_array = array(); //  Массив возвращаемых значений
  21.      public $file_size = ""; // Размер файла
  22.      public $s = 0; // Номер файла от начала
  23.      public $d = @opendir($file_server_patch); // Открыть директорию загрузки
  24.      public $upload_link = ""; // Генерируемая ссылка
  25.          
  26.      public function file_upload_data()
  27.      {
  28.          $this->file_size = $file_size;
  29.          $this->file_info = $file_info;
  30.          $this->file_extended = $file_extended;
  31.          $this->file_server_patch = $file_server_patch;
  32.          $this->s = $s;
  33.          if($this->file_size < $this->file_info['size'])
  34.          {
  35.              if($this->file_extended != $this->file_info['type'])
  36.              {
  37.                  $d=@opendir($this->file_server_patch);
  38.              $this->s;
  39.              while($e=readdir($d))
  40.              {
  41.                  if(is_file($this->file_server_patch."/".$e))
  42.                  $this->s++;
  43.              }
  44.          }
  45.          else
  46.          {
  47.              echo"Не разрешенный тип файла!<br>";
  48.              echo"<a href="index.php?microtime();">Загрузить еще</a>";
  49.          }          
  50.        }
  51.        else
  52.        {
  53.            echo"Размер файла превышает лимит!<br>";
  54.            echo"<a href="index.php?microtime();">Загрузить еще</a>";
  55.        }  
  56.          
  57.            private function file_upload()
  58.            {
  59.  
  60.                $this->file_new_name = $file_new_name;
  61.                $this->upload_link = $upload_link;
  62.                if(move_uploaded_file($this->file_info['tmp_name'], $this->file_server_patch.$this->file_new_name))
  63.                {
  64.                    include"../style/echo.tpl"
  65.                    echo "<a href='?".md5(microtime())."'>Загрузить другой файл</a>";
  66.                }
  67.                else
  68.                {
  69.                    echo"Не удалось загрузить файл";
  70.                }
  71.            }            
  72.  }
  73.  ?>


белая страница при обработке... в чет я тупанул?
2. caballero - 15 Ноября, 2011 - 01:52:59 - перейти к сообщению
потому что нет строк которые выводят данные


Цитата:
private function file_upload()

если это конструктор то сделай по человечески как принято в PHP5 а если нет то незачем называть функцию именем класса

и собаки @opendir поубирай - от того что ты сделаешь вид что ошибки нет она не исчезнет
3. foozzi - 15 Ноября, 2011 - 06:13:12 - перейти к сообщению
caballero все равно... здедал вот так
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.          ini_set('display_errors',1);
  4.     error_reporting(E_ALL);
  5.    
  6.   class file_upload
  7.   {
  8.     public $file_info = array();  //  Массив с информацией о исходном файле - $_FILES['file_name']
  9.     public $file_server_patch = "/"; //Путь по которому на сервере хранятся закачанные файлы # по умолчанию кидаем в корень
  10.     public $file_new_name = ""; //Новое имя файла (то под каки он будет лежать на сервере # при пустом значении то имя с которым файл был передан
  11.     public $file_max_size = 0; // Максимально допустимый размер закачиваемого на сервер файла # При пустом значении размер передаваемого файла
  12.     public $file_extended = array(); // Массив с допустимыми для закачиваемого файла расширениями # пустой массив берем расширение исходного файла
  13.     public $rezult_array = array(); //  Массив возвращаемых значений
  14.     public $file_size = ""; // Размер файла
  15.     public $s = 0; // Номер файла от начала
  16.     /*public $d = @opendir($file_server_patch);*/ // Открыть директорию загрузки
  17.     public $upload_link = ""; // Генерируемая ссылка
  18.     public function __construct()
  19.     {
  20.     }
  21.     public function __destruct()
  22.     {
  23.     }
  24.          
  25.     public function file_upload_data()
  26.     {
  27.         $this->file_size = $file_size;
  28.         $this->file_info = $file_info;
  29.         $this->file_extended = $file_extended;
  30.         $this->file_server_patch = $file_server_patch;
  31.         $this->s = $s;
  32.         if($this->file_size < $this->file_info['size'])
  33.         {
  34.                 if($this->file_extended != $this->file_info['type'])
  35.                 {
  36.                         $d=opendir($this->file_server_patch);
  37.             $this->s;
  38.             while($e=readdir($d))
  39.             {
  40.                 if(is_file($this->file_server_patch."/".$e))
  41.                 $this->s++;
  42.             }
  43.          }
  44.          else
  45.          {
  46.                 echo"Не разрешенный тип файла!<br>";
  47.                 echo"<a href="index.php?microtime();">Загрузить еще</a>";
  48.          }             
  49.        }
  50.        else
  51.        {
  52.         echo"Размер файла превышает лимит!<br>";
  53.         echo"<a href="index.php?microtime();">Загрузить еще</a>";
  54.        }       
  55.        
  56.         private function file_upload()
  57.         {
  58.  
  59.                 $this->file_new_name = $file_new_name;
  60.                 $this->upload_link = $upload_link;
  61.                 if(move_uploaded_file($this->file_info['tmp_name'], $this->file_server_patch.$this->file_new_name))
  62.                 {
  63.                         include"../style/echo.tpl"
  64.                    echo "<a href='?".md5(microtime())."'>Загрузить другой файл</a>";
  65.                 }
  66.                 else
  67.                 {
  68.                         echo"Не удалось загрузить файл";
  69.                 }
  70.         }      
  71.        }       
  72.      }
  73.                
  74.  
  75. ?>
  76.                
  77.                
  78.  
  79.                
  80.                
4. DeepVarvar - 15 Ноября, 2011 - 06:21:14 - перейти к сообщению
foozzi ну потерпи ж ты до вечера Закатив глазки
Что у тебя делают строки 27-31,37 и 59-60???

 

Powered by ExBB FM 1.0 RC1