У меня есть настройка файла php для загрузки изображений на сервер Amazon через AWS. Я пришел к сообщению об ошибке, которое странно появляется на моем prod-сервере (сервере amazon), но не на моем dev-сервере (просто на регулярном php-сервере). Сервер Amazon ранее забрасывал ошибки, когда что-то не структурировано именно так, как оно хочет. Например, если тег a имеет href /home
, он приведет к странице с ошибкой, если я не изменю тег на /home/
.php - переместить загруженный файл в false
В любом случае, я сужу в своем PHP-скрипте, где ошибка, и моя функция php move_uploaded_file
оценивает значение false и останавливает мой файл с начала загрузки на Amazon s3 (на этом этапе файл находится на сервере, где сайт размещен, но еще не на s3). Вот мое, если заявление с некоторыми переменными, объявленными выше, которые должны быть вычисляемыми верно:
$target_dir = "../uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],$target_file)) {
//upload to s3
} else {
//error
}
Я вставил следующий код выше, если заявление, чтобы увидеть, что это было выплюнуть, и вот что она оценивается в комментариях под этим:
echo json_encode($target_file);
// "..\/uploads\/Grad.jpeg"
echo $_FILES["fileToUpload"]["tmp_name"];
// /tmp/phpQA1667
echo json_encode(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],$target_file));
// false
Я не эксперт по php и не могу поместить своего искателя в то, почему он оценивает значение false. Может ли кто-нибудь увидеть, где я ошибся?
был перемещен файл, вы проверили? – JustOnUnderMillions
Возможно, вы не можете перейти на ../uploads/? вы можете эхо __DIR__; чтобы показывать, где находится ваш абсолютный путь, а затем вы должны увидеть, действительно ли у вас есть ./uploads. если путь правильный, я бы проверял права папки –
извините, но echo DIR; только отгоняет строку, говорящую DIR. Не уверен, правильно ли я сделал это? –