2013-06-23 26 views
1

SORRY吸引了我自己的錯誤後POST如何在我刪除所有'後更改我的文件名?

我有這樣的代碼,我從一個文件上傳到我的.uploadAdmin.php部分中的HTML後運行。我有很多這方面的麻煩。

$clientname = $_SESSION['MM_USERNAME']; 

$extension = end(explode(".", $_FILES["file"]["name"])); 

$myText = (string)$_FILES["file"]["name"]; 

$myText = str_replace("'", "", $myText); 

print $myText; // This does come out with no ' 

我的問題是如何更改爲文件名後我有沒有新的文件名,「我已經嘗試了一些事情,包括

$_FILES["file"]["name"] = $myText; 

我有一個比較的==操作符,而不是=,

感謝艾米:)

+3

更改$ _FILES中的文件名將** NOTHING **添加到磁盤上的實際文件。您仍然需要執行move_uploaded_file()操作,以從PHP生成的臨時文件($ _FILES ['] ['temp_name']'中的文件名)將上傳的數據轉換爲您想要存儲爲的名稱。 –

+0

@MarcB我確實擁有了move_uploaded_file(),但這不是我的問題,我的$ _FILES [「file」] [「name」] = $ myText;'工作。 –

回答

0

一旦你上傳你的文件,你需要將其從臨時目錄移動到要存儲它的地方。這是一項安全功能。上傳的文件將有一個臨時文件名。您可以將實際文件名更改爲move_uploaded_file()操作的一部分。

// where to store file 
$uploads_dir = '/uploads'; 

// name of temporary file after upload. 
$tmp_name = $_FILES["file"]["tmp_name"]; 

// original name of file, with apostrophes replaced 
$name = str_replace("'", "", $_FILES["file"]["name"]); 

// move the file 
if (move_uploaded_file($tmp_name, "$uploads_dir/$name") === false) { 
    // do something if the file isn't an uploaded file. 
} 

閱讀PHP參考文獻Handling File Uploads以獲取完整參考。

相關問題