2017-05-03 71 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