디렉토리내의 모든파일을 다른 디렉토리로 옮기는 함수

프로그래밍/PHP 2006/07/10 14:52
//////////////////////////////////////////////////////////////////////////// 
//               디렉토리내의 모든파일을 다른 디렉토리로 옮기는 함수 
// 
// 사용법 : fileCopy('원본파일 디렉토리', '이동시킬 디렉토리', '파일 삭제 여부') 
/////////////////////////////////////////////////////////////////////////////
function fileCopy($source_dir, $dest_dir, $is_del='N')
{
   if(
substr($source_dir, -1)!='/') { $source_dir = $source_dir.'/'; }
   else {
$source_dir = $source_dir; }

   if(
substr($dest_dir, -1)!='/') { $dest_dir = $dest_dir.'/'; }
   else {
$dest_dir = $dest_dir; }

   if (
is_dir($source_dir)) {
       if (
$dh = opendir($source_dir)) {
           
$i = 0;
           while ((
$file = readdir($dh)) !== false)
           {
               if((
$file!='.' && $file!='..' && $file!='index.php') && (filetype($source_dir . $file)!='dir')) {
                   
$filename[$i] = $file;
                   
$i++;
               }
           }
           
closedir($dh);
       }
   }
   
   for(
$ii = 0 ; $ii < $i ; $ii++)
   {
       if(!
copy($source_dir . $filename[$ii], $dest_dir . $filename[$ii])){ echo "파일복사실패 $ii"; exit; }
       if(
$is_del=='Y') {
           if(!
unlink($source_dir . $filename[$ii])){ echo "파일삭제실패"; exit; }
       }
   }
}


문제점....
하위 디렉토리가 있다면 옮겨지지 않는다.
즉 파일만 옮겨지도록 되어있습니다.

해결법...
재귀호출을 이용해서 적용하면 될 것임(조만간 해결 해야겠음;;;)
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 아이젠