Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 Рапаковать архив в другой папке  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11192
Здесь:
http://zvirec.com/view_post.php?id=77
в архиве, есть пара файлов (extract_archive.php и pclzip.lib.php), которые помогают распаковать архив на хостинге.

Очень удобно. Указал имя архива "$archive = new PclZip('dir_photos/photo_6.zip');" и архив распаковывается.
Сами php-файлы лежат в папке /tmp, а распаковать нужно в папку /tmp/dir_photos.
Выгружаю на хостинг архив в папку /tmp/dir_photos и запускаю файл http://sitename.com/extract_archive.php
Архив распаковывается, но проблема в том, что архив распаковывается НЕ в папке "dir_photos", а в текущей, т.е. в /tmp.
1. Как заставить без переписывания файла pclzip.lib.php распаковать архив в папке /tmp/dir_photos?

Для чего всё это нужно? Для того, чтобы можно было папку, куда распаковывается архив, предварительно почистить, удалить все файлы.
2. Предварительно нужно папку /tmp/dir_photos очистить от предыдущих файлов. Что дописать в extract_archive.php для этого?
3. Как удалить zip-архив после распаковки? Что дописать в extract_archive.php для этого?

Я php не знаю, к сожалению. Только Delphi. Поэтому прошу вашей помощи.
Спасибо.
2 окт 17, 18:11    [20837140]     Ответить | Цитировать Сообщить модератору
 Re: Рапаковать архив в другой папке  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11192
Я так понимаю, что здесь PclZip('photos/photos_6.zip') может быть какой-то ещё параметр и не один?
2 окт 17, 18:18    [20837151]     Ответить | Цитировать Сообщить модератору
 Re: Рапаковать архив в другой папке  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11192
здесь не нашёл ответа http://www.phpconcept.net/pclzip/faq
2 окт 17, 18:22    [20837155]     Ответить | Цитировать Сообщить модератору
 Re: Рапаковать архив в другой папке  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11192
1й вопрос решён
http://www.phpconcept.net/pclzip/user-guide/27

if ($archive->extract(PCLZIP_OPT_PATH, "photos") == 0) {
2 окт 17, 18:27    [20837164]     Ответить | Цитировать Сообщить модератору
 Re: Рапаковать архив в другой папке  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11192
вернее так:
if ($archive->extract(PCLZIP_OPT_PATH, "/photos") == 0) {
2 окт 17, 18:34    [20837173]     Ответить | Цитировать Сообщить модератору
 Re: Рапаковать архив в другой папке  [new]
X11
Member

Откуда: Kharkiv, Ukraine
Сообщений: 11192
В итоге вот, что получилось:

<?PHP
require_once('pclzip.lib.php');

if (file_exists('./photos'))
foreach (glob('./photos/*') as $file)
unlink($file);

$archive = new PclZip('photos_6.zip');
if ($archive->extract(PCLZIP_OPT_PATH, "photos") == 0) {
die("Error : ".$archive->errorInfo(true));
}

unlink('./photos_6.zip');
?>
2 окт 17, 18:55    [20837208]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить