vetal2012
Новичок
Копирование только (zip) файлов с каталога /file1(в каталоге есть много файлов
с другими расширениями *.doc, *.jpg,*.avi....) в другие каталоги по маске:
в каталог /file2 попадают только 1111.zip, 2222.zip,3333.zip
в каталог /file3 попадают только 4444.zip, 5555.zip,6666.zip
в каталог /file4 попадают только 7777.zip, 8888.zip,9999.zip
Есть скрипт , он копирует с каталога в каталог все файлы
Как его переделать под задачу описаную выше??
Или хоть как сделать так чтоб копировались только (*.zip) файлы c каталога /file1 в каталог /file2????
OS Windows 10
с другими расширениями *.doc, *.jpg,*.avi....) в другие каталоги по маске:
в каталог /file2 попадают только 1111.zip, 2222.zip,3333.zip
в каталог /file3 попадают только 4444.zip, 5555.zip,6666.zip
в каталог /file4 попадают только 7777.zip, 8888.zip,9999.zip
Есть скрипт , он копирует с каталога в каталог все файлы
Как его переделать под задачу описаную выше??
Или хоть как сделать так чтоб копировались только (*.zip) файлы c каталога /file1 в каталог /file2????
OS Windows 10
PHP:
<?php
/*
копирует с каталога /file1 в /file2 каталог все файлы
$srcdir=/file1 - каталог с исходными файлами
$dstdir=/file2 - конечный каталог1
$dstdir2=/file3 - конечный каталог2
$dstdir3=/file4 - конечный каталог3
$forced - принудительная синхронизация
(перезапись файлов в конечном каталоге)
*/
setlocale(LC_ALL, 'ua-Ua');
function sync_folder($srcdir, $dstdir, $forced = false)
{
$sizetotal = 0;
if(!is_dir($dstdir)) mkdir($dstdir);
// открываем исходный каталог
if($curdir = opendir($srcdir)) {
// последовательно считываем все
// имена файлов и каталогов
while($file = readdir($curdir)) {
// пропускаем указатель на текущий и
// предыдущий каталоги
if($file != '.' && $file != '..') {
$srcfile = $srcdir . '/' . $file;
$dstfile = $dstdir . '/' . $file;
// если текущий элемент - файл
if(is_file($srcfile)) {
// если конечный файл существует -
// проверяем, надо ли его обновлять
if(is_file($dstfile))
$ow = filemtime($srcfile) -
filemtime($dstfile);
else $ow = 1;
// если надо обновлять
if($ow > 0 || $forced) {
echo "копіюю '$srcfile' в '$dstfile'...";
// пробуем скопироваь файл
if(copy($srcfile, $dstfile)) {
// дополнительная обработка
// ...
// устанавливаем время создания конечного
// файла такое же, как у исходного.
touch($dstfile, filemtime($srcfile)); $num++;
// устанавливаем права на доступ к
// файлу "можно всё всем"
chmod($dstfile, 0777);
// увеличиваем счётчик скопированного
// объема на объём последнего файла
$sizetotal =
($sizetotal + filesize($dstfile));
echo "Готово \n <br />";
}
else {
echo "помилка: Не можу ".
"скопировать файл '$srcfile'! <br />\n";
}
}
}
}
}
// закрываем ранее открытый каталог
closedir($curdir);
}
echo 'Копирование завершено!';
return true;
}
sync_folder('./file1',
'./file2',
isset($_REQUEST['forced']));
?>
Последнее редактирование: