如何重命名包含内容的文件夹? - PHP

时间:2017-08-17 10:45:17

标签: php directory rename

我想重命名包含文件的文件夹,但它不起作用。在数据库中它已成功更改,但该文件夹未获得新名称。

代码:

if (file_exists("user/$log_username")) {
    rename("user/$log_username", "user/$un");
}

在文件夹中有一些照片和文件,但我想问题是我想在文件夹在服务器上运行时重命名该文件夹。当我想重命名他/她的文件夹时,用户已登录,但如果我首先注销用户,则$log_username将等于零。有没有解决方案?

3 个答案:

答案 0 :(得分:3)

试试这个:

rename(realpath(dirname(__FILE__)).'/myoldfolder',realpath(dirname(__FILE__)).'/mynewfolder');

应该使用绝对链接而不是相对链接

答案 1 :(得分:1)

你可以在php中使用linux命令:

exec("mv $oldname $newname");

答案 2 :(得分:1)

将文件夹复制到新名称,并在用户登录时删除旧文件夹,以确保它在用户所在的时间内正常工作。
或者可能在用户的会话结束时可以保持永久登录状态。选择合适的选择。

// Copy the folder
copy("user/$log_username", "user/$un");

 //Update database
 //Some code here

 // When user logs out
 Unlink("user/$log_username");