Я пытаюсь распаковать Zip-архив в PHP с помощью extractTo. Сценарий PHP запускается через веб-браузер, то есть как «никто».
Логика и поток:
создает новый подкаталог (например, «abc») с разрешениями 0777 и владельцем «none» в корне документа (то есть на один уровень выше public_html)
копирует Zip-файл (из входящего каталога FTP в public_html) в подкаталог abc. Разрешения на этот Zip-файл установлены на 0777, владелец «none».
создает "распакованный" подкаталог в abc, разрешения 0777 / никто
вызывает
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