Добрый день! Честно до конца не понимаю что и как! но попробую! есть!серое но рабочее Код (PHP): $localDir = 'sales'; $remoteDir = '../testT'; // Обрабатываем локальную папку! if ($handle = opendir($localDir)) { while (false !== ($entry = readdir($handle))) { $ent[] = $entry; } closedir($handle); $countFile = count($ent); }else{ return false; } // теперь проверяем на удалённом если есть копируем с уд на локальный! if($countFile <= 2){ if ($handle = opendir($remoteDir)) { while (false !== ($entry = readdir($handle))) { rename($remoteDir.'/'.$entry, $localDir.'/'.$entry ); } closedir($handle); if ($handle = opendir($localDir)) { while (false !== ($entry = readdir($handle))) { $ent[] = $entry; } closedir($handle); }else{ return false; } }else{ return false; } }else{ return false; } вроде как работает но если первый раз запустить сценарий то выдаёт вот -> Warning: rename(../testT/.,sales/.) [function.rename]: Отказано в доступе. (code: 5) in Z:\home\localhost\www\csv\index.php on line 23 Warning: rename(../testT/..,sales/..) [function.rename]: Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. (code: 32) in Z:\home\localhost\www\csv\index.php on line 23 вторай раз запускаю нету ошибки (очивидно просто нету файлов уже!)
Для начала поймите, каким процессом занят файл $ lsof файл http://ru.wikipedia.org/wiki/Lsof Для отладки воспользуйтесь функцией exec в скрипте, если из консоли нет результата. т.е перед исполнением функции rename http://php.ru/manual/function.exec.html Добавлено спустя 6 минут 10 секунд: Вообще задача к чему сводится? Возможно тут обычного scp или rsync достаточно?
задача проста! проверяем лок папку! если пуста -> проверяем удал. папку! если не пуста копируем в локальную!Если лок не пуста запускаем скрипт! и все равно...... лежать 4 тестовых файла! чем они там заняты! ума не приложу!
У файлов 0666. И не нужно им писать 0777. И запомните одну такую вещь, если у папки уже стоят права 0777, не надо ничему уже там ставить права, они не сработают.