Проблемы с копированием файлов.

artem2005

Новичок
Проблемы с копированием файлов.

Всем привет!
Копирую в цикле файлы в папку c помощью copy(....);
с увеличением числа файлов в папке, увеличивается время копирования файла. В папку, содержащую более 80000 файлов, файл, размером пятьдесят килобайт, копируется несколько секунд.. PHP работает под Linux. Подскажите, пожалуйста, что происходит и как это обойти.
 

artem2005

Новичок
код

PHP:
     $dir=opendir($from_dir);
      while($file=readdir($dir))
        {
          if($file=='.'||$file=='..')continue;
          if(file_exists($to_dir."/".$file))
            {
              unlink($to_dir."/".$file);
            }
          copy($from_dir."/".$file,$to_dir."/".$file);
        }
 

Bloody

Guest
Попробуй так:

while($file=readdir($dir))
{
if(is_dir($from_dir."/".$file)) continue;
if(!copy($from_dir."/".$file, $to_dir."/".$file))
{
if(file_exists($to_dir."/".file))
{
unlink($to_dir."/".$file);
copy($from_dir."/".$file, $to_dir."/".$file);
}
}
}

Мне кажется, дело в том, что каждый файл проверяется на наличие в целевой директории...
 

artem2005

Новичок
работае

Большое спасибо!
5000 тыс. файлов легли за 23 секунды!
 

si

Administrator
Обратите внимание на надпись "редактировать" внизу ваших сообщений.
 
Сверху