php
2013-06-30 50 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

相关问题