2016-05-03 29 views
0

嗨我試圖在網上搜索,但實際上找不到它。 那麼$_FILES['file']['name']$_FILES['file']['tmp_name']之間有什麼區別,或者說$_FILES['file']['tmp_name']究竟是什麼?name和tmp_name之間的區別是什麼

http://php.net/manual/en/features.file-upload.post-method.php

$ _FILES [ 'userfile的'] [ '名']原來的 客戶端機器上的文件的名稱。

$ _FILES ['userfile'] ['tmp_name'] 上傳的文件存儲在服務器上的臨時文件名。

那麼臨時文件名和原始文件名有什麼區別?

謝謝

+0

臨時文件在成功上傳時被自動刪除。原名。好吧...保持上傳文件的名稱。這一切都在手冊http://php.net/manual/en/features.file-upload.post-method.php。 *「如果文件未被移走或重命名,該文件將在請求結束時從臨時目錄中刪除。「* –

+0

^可能要補充的是,tmp_name的值是文件存儲使用move_uploaded_file()以 – Devon

+0

@Devon之前,我沒有必要引用‘整個’手冊;-)它不適合在這裏*大聲笑* –

回答

1

您的文件將這個路徑$ _FILES [ 'IMAGE_PATH'] [ 'tmp_name的值']臨時存儲。所以當你移動它將從臨時文件夾中刪除到你的文件夾。如果您使用複製命令而不是move_uploaded_file,那麼您的臨時文件將保留在服務器的臨時文件夾中。你可以在那裏搜索文件名。

+1

沒有什麼,尚未表示或包括在手冊中告訴我們什麼,我們不知道。 –

+0

我的錯,我還以爲是tmpname名稱或臨時名稱...感謝您的回答。 –

1
$_FILES['file']['tmp_name'] 

提供存儲在系統臨時文件目錄下的Web服務器的硬盤上的文件的名稱,除非另一個目錄已在的php.ini文件使用upload_tmp_dir設置中指定。只有在負責處理表單提交的PHP腳本正在運行時,纔會保留此文件。因此,如果您稍後想要使用上傳的文件(例如,將其存儲爲在網站上顯示),則需要在其他地方複製該文件。

要做到這一點,你可以使用move_uploaded_file()以功能,移動 從其臨時上傳的文件永久位置。請注意0​​那你最好使用move_uploaded_file()以過的功能,如 副本()重命名()用於此目的,因爲它執行額外的檢查,以確保該文件由HTTP POST請求確實上傳。

$_FILES['file']['name'] 

提供了客戶端計算機上的文件的名稱,這submitted.If您做出臨時文件的永久副本,你可能想給它,而不是自動生成的原始名稱前上面描述的臨時文件名。

因此,所有的一切:

$_FILES["file"]["name"] //stores the original filename from the client 
$_FILES["file"]["tmp_name"] //stores the name of the temporary file 

希望它能幫助!

相關問題