当文件位于与脚本不同的目录中时,如何在PHP中重命名文件?
问题描述:
我想重命名使用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
答
尝试指定为NEWNAME
//change file name
rename('/home/name/here/myfile.txt', '/home/name/here/newfile.txt');
答
$ 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
我确实是在我的代码,这样正确的路径,只是没有添加它在这里是为了简洁。我会纠正它! –
这工作,出于某种原因,我发现它的所有例子代码为'rename('full/file/path/name.txt','newname.txt')' –