PHP Zip extractTo - проблема с разрешениями

Я пытаюсь распаковать Zip-архив в PHP с помощью extractTo. Сценарий PHP запускается через веб-браузер, то есть как «никто».

Логика и поток:

  1. создает новый подкаталог (например, «abc») с разрешениями 0777 и владельцем «none» в корне документа (то есть на один уровень выше public_html)

  2. копирует Zip-файл (из входящего каталога FTP в public_html) в подкаталог abc. Разрешения на этот Zip-файл установлены на 0777, владелец «none».

  3. создает "распакованный" подкаталог в abc, разрешения 0777 / никто

  4. вызывает extractTo, чтобы распаковать zip-файл в распакованный подкаталог.

Код такой:

if ($zip->extractTo('$abc_unzipped_path') === TRUE)
{
     [more code]
}

Шаг 4 приводит к тому, что скрипт php возвращает следующую ошибку:

ZipArchive :: extractTo () [ziparchive.extractto]: разрешение запрещено в [путь и имя скрипта] в строке [номер строки вызова extractTo]

Кто-нибудь может увидеть, где может быть проблема с разрешениями?

  • Версия PHP 5.2.9
  • Zlib 1.2.3

person Community    schedule 17.05.2009    source источник


Ответы (1)


... оказывается, проблема была в самом zip-файле, который по-разному вызывал указанные выше ошибки, или вообще отсутствовало сообщение об ошибке (сбой скрипта)

person Community    schedule 22.05.2009