Загрузить перестать работать внезапно! проблема move_uploaded_file - PullRequest
1 голос
/ 28 января 2010

У меня на сервере есть скрипт для загрузки файла. Раньше он работал нормально, но внезапно не может загрузить файлы на сервер. Я не изменил код, я не изменил ничего, связанного с настройкой php или разрешением каталогов также для сервера. Я не изменил ничего в веб-сервере (apache). Я создал небольшой скрипт, чтобы изолировать проблему, но я не получил никаких сообщений об ошибках или предупреждений. Сценарий таков:


<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
ini_set('error_reporting', E_ALL);

$target_path = "/var/www/vhosts/mydomain.com/httpdocs/userfiles3/2010-01-27/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
   echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
 } else{
   echo "There was an error uploading the file, please try again!";
}

?>

Ответы [ 3 ]

1 голос
/ 28 января 2010

У меня была похожая проблема на одном из серверов, на котором я работал; проблема заключалась в том, что временный каталог, в котором php хранил загруженные файлы, достиг своего выделенного предела и, следовательно, не мог вместить туда ничего другого.

После очистки каталога устаревших файлов он снова заработал.

1 голос
/ 28 января 2010

По вашему выводу:

var_dump($_FILES); 
array(1) { 
  ["uploadedfile"]=> array(5) { 
       ["name"]=> string(12) "DSC00562.JPG" 
       ["type"]=> string(0) "" 
       ["tmp_name"]=> string(0) "" 
       ["error"]=> int(2) 
       ["size"]=> int(0) 
  } 
}

Ошибка 2 указывает, что поле превышает максимальный размер файла, указанный в HTML-форме как видите http://www.php.net/manual/en/features.file-upload.errors.php

Вы должны проверить, есть ли в форме, которую вы используете для загрузки файла, что-то похожее на

<input type="hidden" name="MAX_FILE_SIZE" value="_a number_"/>

и удалите его или укажите больший лимит.

0 голосов
/ 08 мая 2011

У меня была такая же проблема, но у меня была проблема на стороне клиента. Файл Power Point Show (pps) поврежден. Я заново сохранил с помощью LibreOffice, и теперь мой скрипт для работы с классами работает!

...