2017-05-03 8 views
0

私のプログラムでは、ファイルを新しいファイルにコピーする必要があります。私は、フォルダのアクセス許可を変更し、既存のファイルをコピーするために、次のPHPコードを使用していますtest.php新しいファイル(まだ作成されていません)test_1.phpPHPで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の' 権限を持っていますか?それに応じて権限を設定する必要があります。

これを参照してください: Sudo in php exec

+0

@ informer..thanksそれが問題でした。今はうまくいきます。 – Jenz

-1

あなたの問題は

PHPはこれを実行する権限がありません、最初のコマンドである:PHP HTTPサーバーAPI限り

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

をあなたがこれを変更していない限り、通常はこのようなタスクを実行する権限がないwww-dataユーザの下で実行されています。

は、あなたが、あなたは簡単にwww-dataユーザーフォルダの所有権を与えることによって、PHPに

別のアプローチを使用して、その上でコマンドを実行することが、最初にそのフォルダfolder1に0777許可を与えるためにシステム管理者として必要

が、スーパーユーザーとしてこのコマンドを実行する必要があります[推奨しません]

$ chown www-data folder1/ 
+0

folder1は0777の権限を持っています。 – Jenz

+0

@Jenzなので、sudoを使う必要はありません:) – hassan

+0

@Jenz 'cp /folder1/test.php/folder/ test_1.php'はこのトリックを行います! :) – hassan

関連する問題