2016-05-04 33 views
-1

特定のファイルタイプをあるフォルダから別のフォルダに再帰的にコピーする機能を作成していますが、この関数はフォルダ内のすべてのファイルをコピーします。特定のファイル拡張子を再帰的にコピーする

function recurse_copy($src, $dst) { 
    $dir = opendir($src); 
    @mkdir($dst); 
    while (false !== ($file = readdir($dir))) { 
     if (($file != '.') && ($file != '..')) { 
      if (is_dir($src . '/' . $file)) { 

       if ($file->getExtension() == "pdf") { 
        recurse_copy($src . '/' . $file, $dst . '/' . $file); 
       } 
      } else { 
       copy($src . '/' . $file, $dst . '/' . $file); 
      } 
     } 
    } closedir($dir); 
} 

// if statements for 
$itp = new RecursiveDirectoryIterator("foldername/", > FilesystemIterator::SKIP_DOTS); 

$displayp = Array('pdf'); 

$i = 0; 
foreach (new RecursiveIteratorIterator($itp) as $filepop) { 
    if (in_array(strtolower(array_pop(explode('.', $filepop))), $displayp)) 
     if ($filepop->getExtension() == "pdf") { 
      echo > 
      recurse_copy("a", "b"); 
     } 
} 

答えて

0
$itcopy = new RecursiveDirectoryIterator("foldername/", FilesystemIterator::SKIP_DOTS); 

$displayp = Array ('pdf'); 

foreach(new RecursiveIteratorIterator($itcopy) as $filecopy) 
{ 
    if (in_array(strtolower(array_pop(explode('.', $filecopy))), $displayp)) 


    if ($filecopy->getExtension()=="pdf"){ 


     copy($filecopy->getrealPath(),'pdf_folder/'.$filecopy->getFilename()) ; 


    } 

} 
+0

はそれだけでそれを行う方法を再考するために必要な解決しました –

関連する問題