Подтвердить что ты не робот

PHP Предупреждение: move_uploaded_file() не может перемещаться

Я медленно изучал PHP и нашел массив информации по этому вопросу и решениям, опубликованным другими разработчиками. Я пытаюсь, чтобы приложение Android загрузило файл на PHP-сервер через HTTP-сообщение. Однако что-то не работает на моей стороне сервера, пытаясь записать файл в PHP.

Вот код PHP:

// Where the file is going to be placed
$target_path = "/var/www/media2net/uploads/uploads";

/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$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";
    chmod("uploads/" . basename($_FILES['uploadedfile']['name']), 755);
} else {
    echo "There was an error uploading the file, please try again!";
    echo "filename: " . basename( $_FILES['uploadedfile']['name']);
    echo " target_path: " .$target_path;
}

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

вывод из файла apache2 error.log читает

[Wed Dec 05 09:25:36 2012] [error] [client 74.14.162.250] PHP Warning:  
move_uploaded_file(): Unable to move '/tmp/phpVLOnn3' to  
'/var/www/media2net/uploads/downloaded_file.png' 
in /var/www/media2net/upload.php on line 9

Любая помощь с этой проблемой или дальнейшие способы устранения этой проблемы будут оценены.

4b9b3361

Ответ 1

Измените разрешения на загрузку для /var/www/media 2net/uploads/, изменив владельца с помощью "chown" или "chmod"

Примеры

$ sudo chown apache:apache /var/www/media2net/uploads/
$ sudo chmod 755 /var/www/media2net/uploads/

Кроме того, если downloaded_file.png уже существует в этом каталоге и принадлежит другому пользователю, вам также потребуется изменить право собственности на этот файл.

$ sudo chown apache:apache /var/www/media2net/uploads/downloaded_file.png

Таким образом, он может быть успешно перезаписан Apache.

Ответ 2

Это решило проблему для меня:

$ sudo chown -R www-data:www-data /var/www/html/

Ответ 3

Этот хорошо работал в операционной системе Ubuntu. Вам нужно только сменить владельца

sudo chown -R www-data:www-data (path to the image folder)