重复复制特定文件扩展php

时间:2016-05-04 07:39:09

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

1 个答案:

答案 0 :(得分: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()) ;


    }

 }