php
2013-06-30 76 views -3 likes 
-3

我已經使用PHP編寫了一個代碼,將文件從臨時文件夾移動到永久存儲器。我也應該重命名文件,但我無法正確執行後面的文件。 這段代碼如下:無法在php中重命名()

move_uploaded_file($_FILES["file"]["tmp_name"],"previouspapers/".$dept."/" . $_FILES["file"]["name"]); 
$path='http://127.0.0.1/example/previouspapers/'; 
$path="$path".$dept."/".$_FILES["file"]["name"]; 

$path1='http://127.0.0.1/example/previouspapers/12345'; 

rename($path,$path1); 
$fpath=$_FILES["file"]["name"]; 

請幫我找到這個錯誤。

+0

爲什麼不直接將文件移動到新文件名? – 2013-06-30 09:15:27

+0

嗨,究竟哪裏出了問題?請提供更多信息。 –

+0

重命名你必須使用全路徑'C:/ images/...'而不是'http:// ....' –

回答

-1
 $path = 'http://127.0.0.1/example/previouspapers/'; 
     $path .="$path".$dept."/".$_FILES["file"]["name"]; 

我猜你沒有正確連接路徑變量。請參閱。=(注意:它們之間的np空間)

+0

這就是你的錯誤@ cups。 $ path ='http://127.0.0.1/example/previouspapers/'; $ path =「$ path」。$ dept。「/」。$ _ FILES [「file」] [「name」]; 這是我的代碼,我甚至執行它 –

3

rename重命名文件和文件夾,而不是HTTP URL。不能重命名

"http://127.0.0.1/example/previouspapers/$dept/$_FILES[file]" 

'http://127.0.0.1/example/previouspapers/12345 

你應該重新命名

"previouspapers/$dept/$_FILES[file]" 

"previouspapers/12345" 

代替;因爲如您撥打move_uploaded_file建議,您的工作目錄是examples

+0

是的,那麼我應該怎麼做重命名它?(例如:resume.pdf到12345.pdf) –

+0

現在我是這樣做的:$ x ='example/priorpapers /'.$_FILES["file"]["name「]; $ Y = '例如/ previouspapers/12345';重命名($ X,$ y)基但同樣的問題! @oswald –

+0

相對文件名(即沒有斜槓作爲第一個字符的名稱)被解釋爲與工作目錄相關(可以用['getcwd()'](http://php.net/manual/en/function)查找。 getcwd.php)如果你有興趣)。你對'move_uploaded_file'的調用表明,'example'是你當前的工作目錄,所以在重命名文件時你不應該指定這個路徑組件。 – Oswald

相關問題