2016-05-04 5 views
-1

Ich schreibe eine Funktion zum rekursiven Kopieren eines bestimmten Dateityps von einem Ordner zum anderen, aber die Funktion kopiert alle Dateien im Ordner.reusively kopieren eine bestimmte Datei Erweiterung php

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"); 
     } 
} 

Antwort

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

löste es benötigt, um nur überdenken, wie es zu tun –

Verwandte Themen