PHP move_uploaded_file / copy проблема - PullRequest
       2

PHP move_uploaded_file / copy проблема

0 голосов
/ 09 октября 2010

Интересная проблема, с которой я, похоже, сталкивался.У меня есть форма, которая загружает изображение и сохраняет значение в таблице базы данных.Форма загружает файл изображения ОК и делает его доступным для обработки.Вопрос заключается в следующем;использование move_uploaded_file в указанный каталог не работает, однако использование copy() для этого каталога работает.

Код в настоящее время выглядит следующим образом:

$file = $_FILES['doc_path'];

  $ext = array_pop(explode('.', $file['name']));
  $filename = uniqid() . '.' . $ext;

  if ($file['error'] == UPLOAD_ERR_NO_FILE && ! strlen($this->filename)) {
   throw new Exception('Please select a file to upload');
  } elseif ($file['error'] == UPLOAD_ERR_NO_FILE) {
   return true; // already have a file
  } elseif ($file['error']) {
   throw new Exception('File upload error');
  } elseif (! $file['size']) {
   throw new Exception('File is of zero length');
  } else {

   $path = 'uploads/' . $filename;


   if (! move_uploaded_file($file['tmp_name'], $path)) {
    throw new Exception('Could not upload file');
   }

   return $filename;
  }

Я проверил, что целевой каталог существуети каталог доступен для записи.Ошибка не вызывается с помощью move_uploaded_file (), только ловится исключение «Не удалось загрузить файл».

Можно было бы подумать, что если это проблема с разрешениями, то замена move_uploaded_file на copy не будет работать?1011 *

Ответы [ 2 ]

0 голосов
/ 09 октября 2010

@ Симнон -

Я думаю, это может быть проблема пути. Либо в вашем источнике, либо в вашей цели.

Попробуйте изменить:

$path = 'uploads/' . $filename;

Кому:

$path = '/uploads/' . $filename;
0 голосов
/ 09 октября 2010

Ошибка с помощью move_uploaded_file () не выдается, только ловится исключение "Не удалось загрузить файл".

Возможно, это связано с настройками отчетов об ошибках.

Что показывает error_reporting(E_ALL); или echo error_get_last();?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...