[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 メーリングリストの案内