我需要一个脚本将文件复制到特定文件夹内的每个目录和子目录。将文件复制到路径中的每个目录和子目录PHP
在一个名为'projects'的文件夹中,我有几个文件夹和几个文件夹(等等),我需要一个脚本来检查文件夹中是否存在特定文件,如果存在,则不执行任何操作不是,复制它。
我需要做到这一点在PHP ......
你能帮忙吗?
我需要一个脚本将文件复制到特定文件夹内的每个目录和子目录。将文件复制到路径中的每个目录和子目录PHP
在一个名为'projects'的文件夹中,我有几个文件夹和几个文件夹(等等),我需要一个脚本来检查文件夹中是否存在特定文件,如果存在,则不执行任何操作不是,复制它。
我需要做到这一点在PHP ......
你能帮忙吗?
我希望这段代码可以帮助你为你想
$maindir=".";
mylistFolderFiles($maindir);
function mylistFolderFiles($dir){
$file = 'example.txt';
$ffs = scandir($dir);
foreach($ffs as $ff){
if($ff != '.' && $ff != '..'){
if(is_dir($dir.'/'.$ff)) {
$newfile=$dir.'/'.$ff .'/'. $file ;
if (!copy($file, $newfile)) {
echo "failed to copy $file...\n";
}
mylistFolderFiles($dir.'/'.$ff);
}
}
}
}
这只能得到深度1,所以它doesnt工作,但无论如何感谢 – user1720742
对不起,我改变了我的代码看看我认为固定subdir问题 – Afshin
,作品像一个魅力,非常感谢你...(仍然缺少检查,如果存在的一部分,但没关系,文件少超过490字节,因此覆盖不会影响性能)。 – user1720742
这什么会复制所有文件,所有文件夹和其内容从....目录cunnrent目标..使用RecursiveDirectoryIterator
和RecursiveIteratorIterator
echo "<pre>";
mkdirRecursive($target);
if (! is_writable($target)) {
echo "You don't have permission wo write to ", $target, PHP_EOL;
}
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
while ($it->valid()) {
if (! $it->isDot()) {
$name = $it->key();
$final = $target . str_replace($dir, "", $name);
if (! mkdirRecursive(dirname($final))) {
echo "Can Create Directory : ", dirname($final), PHP_EOL;
continue;
}
if (! @copy($name, $final)) {
echo "Can't Copy : ", dirname($final), PHP_EOL;
continue;
}
echo "Copied ", basename($name), " to ", dirname($final), PHP_EOL;
}
$it->next();
}
function mkdirRecursive($pathname, $mode = 0777) {
is_dir(dirname($pathname)) || mkdirRecursive(dirname($pathname), $mode);
return is_dir($pathname) || @mkdir($pathname, $mode);
}
[你尝试过什么?](http://whathaveyoutried.com) – noj
使用READDIR和SCANDIR和水珠只能得到深度1,那里有几乎无限的深度 – user1720742
也许,这可能会给你一些见解? http://stackoverflow.com/questions/2338551/php-parse-directory-and-subdirectories-for-file-paths-and-names-of-only-jpg-imag – kush