2017-05-03 85 views
0

在我的程序中,我需要将文件复制到新文件中。我正在使用以下php代码来更改文件夹权限并将现有文件test.php复制到新文件(尚未创建)test_1.php在php中使用cp命令时未创建文件

exec('chmod -R 0777 /folder1/'); 
exec('sudo cp /folder1/test.php /folder/test_1.php'); 

但这不是创建和复制test_1.php文件。

任何人都可以帮助我解决这个问题吗?提前致谢。

回答

1

当你正在做的:

exec('sudo cp /folder1/test.php /folder/test_1.php'); 

请问你的PHP代码 '须藤' 权限移动文件?您需要相应地设置权限。

请参阅此: Sudo in php exec

+0

@举报人..感谢那是问题所在。它的工作现在很好。 – Jenz

-1

你的问题是在第一个命令,

PHP不执行此权限:只要

exec('chmod -R 0777 /folder1/'); 

为PHP的HTTP服务器API正常运行,除非你没有改变这个 - 在www-data用户下,他没有权限执行这样的任务。

你需要作为一个系统管理员先给该文件夹folder1的0777权限,那么你可以在其上使用PHP

另一种方法通过给www-data用户的文件夹的所有权轻松地执行命令,

但你仍然必须以超级用户的身份执行此命令[不推荐]

$ chown www-data folder1/ 
+0

folder1具有0777权限。 – Jenz

+0

@Jenz所以你不需要使用sudo :) – hassan

+0

@Jenz'cp /folder1/test.php/folder/test_1.php'就可以了! :) – hassan