2011-05-18 114 views
0

有沒有什麼辦法讓php腳本在用戶使用HTML表單上傳文件後選擇文件名?我希望允許用戶爲他們的帳戶上傳頭像,並且希望用戶使用其用戶名來命名,而不是在其計算機上的名稱。我使用的是基本的HTML上傳表單,它只允許帶有10MB文件限制的jpegs和png文件,類似於http://www.w3schools.com/php/php_file_upload.asp上的文件上傳代碼。您可以給予的任何幫助將不勝感激。是否有可能在文件上傳後更改文件名

+0

基本上,上傳到臨時存儲,它取決於你來處理它。如下所示,您可以在該階段對其進行重命名。事實上,從安全角度來看,允許最終用戶指定名稱可能是一個壞主意。有關更多信息和各種方法,谷歌:「安全漏洞文件上傳php」 – horatio 2011-05-18 21:32:13

回答

1

您可以在使用move_uploaded_file()時指定文件名,否則可以重命名()該文件。

2

將所需的文件名放在move_uploaded_file()的第二個參數中。

+0

謝謝,我不知道。我想我應該在問問大家之前看看這個功能是如何工作的。 – Shoaulin 2011-05-18 21:02:59

1
$userid = 5; // say you fetch it from database 
$ext = explode("\/",$_FILES["file"]["type"]); //extract the file extension 
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$userid.$ext[1]); 

UPDATE: 我覺得你不需要解壓文件擴展名。

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$userid);