2017-04-20 13 views
0

我想重命名使用PHP在一个单独的目录中的文件。这是我尝试过的。当文件位于与脚本不同的目录中时,如何在PHP中重命名文件?

<?php 

//file i want to change 
$file_dir = '/home/name/here/myfile.txt'; 

//directory of script 
$cur_dir = '/home/name/there/myhandler.php'; 

//change directory to location of file to be renamed 
chdir('/home/name/here/'); 

//change file name 
rename($file_dir, 'newfilename.txt'); 

?> 

但是,我得到一个错误,它仍在寻找旧目录中的文件。

rename($file_dir, newfilename.txt): No such file or directory in /home/name/there/myhandler.php 

回答

2

尝试指定为NEWNAME

//change file name 
rename('/home/name/here/myfile.txt', '/home/name/here/newfile.txt'); 
+0

这工作,出于某种原因,我发现它的所有例子代码为'rename('full/file/path/name.txt','newname.txt')' –

0

$ file_dir需要是目录名,而不是chdir的文件名。你不需要脚本目录,或者你可以使用__DIR__

<?php 

//file i want to change 
$file_dir = '/home/name/here'; 

//change directory to location of file to be renamed 
chdir($file_dir); 

//change file name 
rename('filename.txt', 'newfilename.txt'); 

?> 
+0

我确实是在我的代码,这样正确的路径,只是没有添加它在这里是为了简洁。我会纠正它! –

相关问题