2014-01-07 40 views
0

我處理文件圖片上傳,如簡單(取出整個代碼只是件)上傳文件/圖像,而不在下面的代碼來描述「move_uploaded_files」(PHP)

//get the temporary name of the uploaded file 
$tmpName=$imgFile['tmp_name']; 

if(!empty($tmpName) && is_uploaded_file($tmpName)) { 
     //read the image from temporary uploaded data 
     $im = @ImageCreateFromJpeg($tmpName); 
     // resize the image 
     $im=resize_photo($im); 
     // create new image path and filename... 
     // ... 
     // store the image 
     ImageJpeg($im, $photodir.$ds.$newname,50); 
     } 
// remove the temporary file ??? 
unlink($tmpName); 

腳本工作正常,只是臨時文件被刪除,但我不知道整個過程是否正確。我可以/刪除臨時文件嗎?如果不使用「move_uploaded_file」,這樣的圖片上傳能否安全地運行?如果不刪除,是否刪除臨時數據?

+2

爲什麼不使用'move_upload_file'? –

+0

你可以創建自己的「tmp」文件夾,並使用http://php.net/filemtime和http://php.net/unlink刪除舊圖像,所以也許你可以刪除超過1小時(或1天等)。 –

+0

看起來好像你正試圖重新發明車輪。 'move_uploaded_file'從臨時文件創建一個新文件,然後一旦你的過程完成,臨時文件被刪除 – zgr024

回答

6

您正在存儲數據imagejpeg(),因此您正在創建一個新文件,暫時沒有關於它的任何內容。

真正的臨時文件($tmpname)是臨時文件,當您的http請求結束時,將被PHP刪除。

+0

完美的,非常感謝 – John

+0

@Guilherme,請不要*隨機*格式化*你認爲*重要的* *字*。它使事情變得難以閱讀。 – Charles

+0

@Charles是一個觀點。 –

相關問題