我需要一個腳本將文件複製到特定文件夾內的每個目錄和子目錄。將文件複製到路徑中的每個目錄和子目錄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