[PHP-users 26958] ディレクトリコピー
YuukiUmemoto
uuki @ uuki.net
2005年 9月 24日 (土) 15:29:20 JST
はじめまして、どうしてもうまくいかないことがあるので質問お願いします。
ディレクトリを丸ごとコピーする関数を作ったのですが、どうもうまく動きません。
Windows環境では問題なく動くのですが、XREAサーバーにアップロードして
copyDir( 'test/', 'tmp/hoge/' );
このようにすると、test2の下にhogeというディレクトリが作成されるのですが、以降のmkdirが全て失敗してしまいます。
コピー元、コピー先のディレクトリのパーミッションを777にしてみたり色々してみたのですが、ダメでした。
どこがおかしいのか、もしくはほかの方法などあれば教えてください。
よろしくお願いします。
function copyDir( $src, $des ){
if( !is_dir( $src ) ){ return false; }
$oldmask = umask(0);
$mod= stat($src);
mkdir($des, $mod[2]);
$fileArray=glob( $src."*" );
foreach( $fileArray as $key => $data_ ){
mb_ereg("^(.*[\/])(.*)",$data_, $matches);
$data=$matches[2];
if( is_dir( $data_ ) ){
copyDir( $data_.'/', $des.$data.'/' );
}else{
copy( $data_, $des.$data );
$mod=stat($data_ );
chmod( $des.$data, $mod[2] );
}
}
umask($oldmask);
return true;
}
PHP-users メーリングリストの案内