2011-07-28 99 views
1

文件上傳後,我用這個代碼(CI)問題用PHP重命名功能(remaning文件,文件名有空格)

rename ("./upload/temp/{$data1['upload_data']['client_name']}", "./upload/$filename"); 

重命名,但也有在文件名中的任何空間,它給出了這樣的按摩,如文件名稱「新文本文檔(2).txt」按摩是

Message: rename(./upload/temp/New Text Document (2).txt,./upload/4.txt) [function.rename]: No error 

我該如何解決這個問題?

回答

3

你或許應該\(反斜槓+空格)替換所有空格,如:

$toRename = str_replace(
       array(' ', '(', ')'), 
       array('\ ', '\(', '\)'), 
       $data1['upload_data']['client_name'] 
); 

rename(
    './upload/temp/' . $toRename, 
    './upload/' . $filename 
); 
+0

感謝您的幫助,但現在你的解決方案我得到這個問題的消息:重命名(./上傳/ TEMP/New \ Text \ Document \(2).txt,。/ upload/7.txt)[function.rename]:沒有錯誤 –

+0

'('和')'也可能有問題,請嘗試更新代碼。 –

+0

用新的代碼這一個來臨消息:重命名(./上傳/溫度/新/文本\文件\\(2 \).txt,。/ upload/8.txt)[function.rename]:沒有錯誤 –