アプリ版:「スタンプのみでお礼する」機能のリリースについて

ディレクトリ内のファイルも含めてコピーを作成したいと思います。
ディレクトリをコピーする関数はありますか?

$copy0 = './hoge/コピー元';
$copy1 = './hoge/コピー先';

このような事をする時に、権限やパーミッションの設定も必要で
あれば教えてほしいのですが・・・。

A 回答 (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);
?>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!