Что может быть причиной сбоя move_uploaded_file() несмотря на успешную загрузку файла? [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Что может быть причиной сбоя move_uploaded_file() несмотря на успешную загрузку файла? [дубликат]

Сообщение Anonymous »

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

Код: Выделить всё

$filename = 'profile/4/test_php.txt';
file_put_contents($filename, 'Test content1213');
Проверка содержимого $_FILES: я использовал var_dump($_FILES['ImgName']) и получил следующий вывод, который кажется правильным:

Код: Выделить всё

array(5) {
["name"]=>
string(51) "301970771_505063944953749_5672008915932681113_n.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(30) "/opt/bitnami/php/tmp/phpjJ3nxP"
["error"]=>
int(0)
["size"]=>
int(33349)
}
Расположение API: API расположен в том же каталоге, что и тестовый файл PHP, где работает file_put_contents(). Я пытаюсь переместить файл во вложенную папку внутри профиля/4.
Отчеты об ошибках: я включил отчет об ошибках со следующими строками, но конкретных ошибок нет. показаны:

Код: Выделить всё

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
Основной PHP-код: вот код, который я использую в своем API для обработки загрузки файла:

Код: Выделить всё

if (isset($_FILES['ImgName'])) {
$tmp_file = $_FILES['ImgName']['tmp_name'];
$target_path2 = 'profile/4/5494daf90993f84586a7cb2444d0c8a61726493376701443191.jpg';
var_dump($_FILES['ImgName']); // It prints the var_dump

if (move_uploaded_file($tmp_file, $target_path2)) {
echo "File uploaded successfully.";
} else {
echo "Failed to move uploaded file: " . error_get_last();
}
}
Проблема:
Несмотря на правильное заполнение массива $_FILES, функция move_uploaded_file() завершается с ошибкой, и код попадает в блок else. Каталог существует, и я проверил, что могу создавать файлы с помощью file_put_contents(), но не могу переместить загруженный файл.
В чем может быть проблема и как это исправить? ?

Подробнее здесь: https://stackoverflow.com/questions/789 ... file-uploa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»