• ベストアンサー

デイレクトリ コピー

ディレクトリ内のファイルも含めてコピーを作成したいと思います。 ディレクトリをコピーする関数はありますか? $copy0 = './hoge/コピー元'; $copy1 = './hoge/コピー先'; このような事をする時に、権限やパーミッションの設定も必要で あれば教えてほしいのですが・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • 7tv3mm
  • ベストアンサー率75% (12/16)
回答No.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); ?>

関連するQ&A