Задать вопрос
@rinaz22

Почему не создается архив ZipArchive в php?

Всем привет. Есть небольшой скрипт, который по идее должен пройтись по всем каталогам, архивировать и если все ок, удалить сами файлы. Проблема в том, что при выполнении $zip->open возвращается false.
Код:
<?php
$zip = new ZipArchive();

function glob_tree_search($path)
{
  global $zip;
 
	$out = '';
	foreach(glob($path . '/*.txt', GLOB_BRACE) as $file)
  {
		$file = basename($file);
    $file_arr = explode('-', $file);
    if ("{$file_arr[0]}-{$file_arr[1]}" == date('Y-m')) continue;

    if (is_resource($zip->open("{$path}/{$file_arr[0]}-{$file_arr[1]}.zip", ZipArchive::CREATE)))
    {
      if ($zip->addFile("{$path}/{$file}", $file))
      {
        unlink("{$path}/{$file}");
      }
      else
      {
        echo "Error ZIP (addFile): {$path}/{$file_arr[0]}-{$file_arr[1]}.zip<br>";
      }
    }
    else
    {
      echo "Error ZIP (open): {$path}/{$file_arr[0]}-{$file_arr[1]}.zip<br>";
      // exit;
    }
	}
	
	foreach(glob($path . '/*', GLOB_ONLYDIR) as $file)
  {
		$out = array_merge($out, glob_tree_search($file));
	}
 
	return $out;
}

glob_tree_search('/files/txt');
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Простой 9 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы