我想重命名包含文件的文件夹,但它不起作用。在数据库中它已成功更改,但该文件夹未获得新名称。
代码:
if (file_exists("user/$log_username")) {
rename("user/$log_username", "user/$un");
}
在文件夹中有一些照片和文件,但我想问题是我想在文件夹在服务器上运行时重命名该文件夹。当我想重命名他/她的文件夹时,用户已登录,但如果我首先注销用户,则$log_username
将等于零。有没有解决方案?
答案 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");