2013-03-10 155 views
1

根據PHP.net documentation,如果move_uploaded_file失敗沒有錯誤,這是因爲它無法打開原始文件,但據我可以告訴該文件存在並可被代碼訪問。有誰知道是什麼原因導致了這個問題?move_uploaded_file失敗 - 沒有錯誤信息

這裏的命令:

if(!move_uploaded_file($file["tmp_name"], 
      SITE_ROOT."/../static/images/photos/tmp/".$fileName.$fileExt)) { 
     throw new Exception("ERROR: There was a serious server problem uploading the image :("); 
    } else { 
     return true; 
    } 

下面是其中$ newImage創建:

if(imagejpeg($img_dst, sys_get_temp_dir()."/tmp.jpg", 100)) {  
    $newImage["name"] = "tmp.jpg"; 
    $newImage['tmp_name'] = sys_get_temp_dir()."/tmp.jpg"; 
    $newImage['error'] = 0; 
    $newImage['type'] = "image/jpeg"; 
    $newImage['size'] = filesize(sys_get_temp_dir()."/tmp.jpg"); 

我甚至可以查看我的系統的臨時目錄中的文件,但即使filesize()可以看到它罰款,move_uploaded_file似乎有問題。

日誌文件是空的(除了MIME警告:Cannot get media type from 'x-mapp-php5')。任何人都知道發生了什麼事?


編輯:我不知道是否能有一些與此有關? (從文件)。

move_uploaded_file()以只允許那些通過PHP上傳的文件被移動,確保此操作的安全性。

編輯:是的,就是這樣。

+0

唉!我希望我現在可以爲此付出代價 - 我真的需要一些幫助:( – 2013-03-10 22:11:23

回答

0

這是move_uploaded_file的侷限性:它只能處理PHP上傳的圖片。由於我想移動的圖像僅由PHP創建,因此不會移動它。

我簡單地用copy替換了命令。

2

或許這是與權限的文件夾,您訪問

+0

這不是一個權限問題,正如我在問題中所解釋的那樣。 – 2013-03-10 23:22:33

0

這是極不可能的,失敗沒有任何錯誤。你檢查了錯誤日誌嗎?

+0

你看過這個問題嗎? – 2013-03-10 12:43:52

+0

我已經做了,但我一定錯過了該部分與日誌文件,對不起。你有沒有嘗試chmod()文件?可能是有權限問題,也許? – 2013-03-10 19:52:10

相關問題