我有一個php文件設置,用於通過AWS將圖像上傳到Amazon服務器。我遇到了一個錯誤信息,這個信息奇怪地顯示在我的prod服務器(亞馬遜服務器)上,但不是我的開發服務器(只是一個普通的php服務器)。亞馬遜服務器之前曾經出現過錯誤,當某些東西的結構完全不符合要求時。例如,如果一個標籤有一個href /home
它將導致一個錯誤頁面,除非我將標籤更改爲/home/
。php - 將上傳的文件評估爲false
無論如何,我已經在我的PHP腳本中縮小了錯誤所在,並且我的php函數move_uploaded_file
正在評估爲false並停止從開始上傳到Amazon s3的文件(在此階段該文件位於服務器上該網站託管,但尚未在S3)。下面是與上述已申報一些變量應該評估爲真我的if語句:
$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
}
我插入的if語句上面下面的代碼,看看它吐出這裏就是它在其下評論評價:
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。任何人都可以看到我出錯了嗎?如果文件名不是一個有效的上傳文件,那麼不會發生動作,和move_uploaded_file()以將返回FALSE
:
被發現的文件移動,你檢查了? – JustOnUnderMillions
也許你不能去../uploads/?你可以回顯__DIR__;以顯示你目前的絕對路徑,然後你必須看看你是否真的有../上傳。 如果路徑是正確的,我會檢查文件夾的權利 –
抱歉,但回聲DIR;只回應出一個說DIR的字符串。不知道如果我正確地做到這一點? –