- ベストアンサー
デイレクトリ コピー
ディレクトリ内のファイルも含めてコピーを作成したいと思います。 ディレクトリをコピーする関数はありますか? $copy0 = './hoge/コピー元'; $copy1 = './hoge/コピー先'; このような事をする時に、権限やパーミッションの設定も必要で あれば教えてほしいのですが・・・。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
質問者さんの環境でうまく動くかどうか分かりませんが、 ウチの環境で↓のファイルへアクセスしたら、OK でした。 <?php $path = '/usr/home/www/tes'; $orig_dir = $path . '/orig'; $new_dir = $path . '/new'; $cmd = 'cp -r ' . $orig_dir . ' ' . $new_dir; system($cmd); ?> /usr/home/www がドキュメントルートで、 /usr/home/www/tes というディレクトリを作ってパーミッションを 777 にし、更に /usr/home/www/tes/orig というディレクトリを 作っておきます。(パーミッション 755) /usr/home/www/tes/orig の中に適当なファイルを2~3個入れておき、 上のファイルへブラウザからアクセスしたら、そっくり new いう 名前でコピーされてました。 system($cmd); の部分を、exec($cmd); でも OK でした。 ※ウチの環境では、PHP(httpd) からディレクトリやファイルを 作成すると、所有者が www になってしまい FTP ソフトから削除 できなくなります。 質問者さんがコンソールから操作できる立場なのか分からないので、 念のため、ウチの環境で OK だった削除用のファイルも書いておきます。 <?php $path = '/usr/home/www/tes'; $new_dir = $path . '/new'; $cmd = 'rm -r ' . $new_dir; system($cmd); ?>