if($file != '.' && $file != '..')
Пробовал от него избавится и заменить его строками:
$file != '.'; && $file != '..';
но это абсурдно, поэтому и появляется сообщение об ошибке о неверном аргументе в функции copy.
Может кто-нибудь из профессионалов подскажет, что нужно сделать, или предложит альтернативный вариант.
$srcdir="old"; // Каталог с исходными файлами
$dstdir="new"; // Конечный каталог
// Открыть исходный каталог
$curdir = opendir($srcdir);
// Последовательно считывать все
// имена файлов и каталогов
while($file = readdir($curdir)) {
// Пропустить указатель на текущий и
// предыдущий каталоги
if($file != '.' && $file != '..') {
$srcfile = $srcdir . '/' . $file;
$dstfile = $dstdir . '/' . $file;
// Скопировать файл
copy ($srcfile, $dstfile);
}
}
// закрыть ранее открытый каталог
closedir($curdir);