Страницы:
0 1 2 3 4 5 6 7 8 9 10 |Все сразу|
Дополнительные аргументы.
На сегодняшний день определены следующие аргументы:
PCLZIP_OPT_PATH
Этот аргумент указывает путь до папки, куда будут извлечены файлы из архива.
Значение – текстовая строка.
$list = $archive->extract(PCLZIP_OPT_PATH, "extract/folder/");
|
Этот аргумент может использоваться с методами 'extract();' и
'extractByIndex();'.
PCLZIP_OPT_ADD_PATH
Этот параметр позволяет указать путь для файла при добавлении его в архив.
Это позволит заархивировать файл 'file.txt' с путем 'bacup/file.txt' или извлечь
файл 'backup/file.txt' с путем 'folder/backup/file.txt'.
Значение – текстовая строка.
$list = $archive->create("file.txt,image.gif",
PCLZIP_OPT_ADD_PATH, "backup");
|
Этот аргумент может использоваться с методами 'create();', 'add();',
'extract();'.
PCLZIP_OPT_REMOVE_PATH
Этот аргумент позволяет подавить часть или весь путь файлов (или папок) при
их извлечении. Это позволит архивировать файл '/usr/local/user/test/file.txt'
подобно файлу с названием 'test/file.txt' или извлекать файл, сохраненный как
'folder/data/file.txt' как файл 'data/file.txt'.
Значение – текстовая строка.
$list = $archive->add("/usr/local/user/test/file.txt",
PCLZIP_OPT_REMOVE_PATH, "/usr/local/user");
|
Этот аргумент может использоваться совместно с методами 'create();',
'add();', 'extract();' и 'extractByIndex();'
Примечание: этот аргумент игнорируется, если вы используете аргумент
PCLZIP_OPT_REMOVE_ALL_PATH в том же самом вызове метода.
PCLZIP_OPT_REMOVE_ALL_PATH
Этот аргумент позволяет подавить весь путь файла при его извлечении или
добавлении в архив.
Этот параметр позволит вам не указывать ни какого шаблона пути для отсечения.
Однако, будте внимательны, вложенность каталогов может быть большой, следите за
тем, чтобы внутри не попадались файлы с одинаковым названием.
Значения не имеет.
$list = $archive->create("data/file.txt images/image.gif",
PCLZIP_OPT_REMOVE_ALL_PATH);
// Удалит путь 'data/' для файла 'data/file.txt'
// и путь 'images/' для файла 'images/image.gif'
|
Может использоваться с методами 'create();', 'add();', 'extract();' и
'extractByIndex();'.
PCLZIP_OPT_SET_CHMOD
Дает возможность изменить атрибуты файла после его извлечения. На *NIX
системах управление доступа и владелец файла (системный атрибут) не позволяют
доступ к файлу отовсюду. В частности, пользователь, под которым запущен процесс
PHP дает файлам только свои права, при определенных настройках они могут
запрещать пользование файлами другими пользователями. Цель этого аргумента –
назначить файлам нужные вам права.
Значение – одиночное октальное значение (например, 0777).
$list = $archive->extract(PCLZIP_OPT_SET_CHMOD, 0777);
|
Этот аргумент может использоваться с методами 'extract();' и
'extractByIndex();'.
Примечание: этот аргумент не тестировался в полном объеме и носит
статус ЭКСПЕРИМЕНТАЛЬНОГО.
PCLZIP_OPT_BY_NAME
Позволяет извлекать файлы из архива указывая их полное название.
$archive = new PclZip('test.zip');
$rule_list[0] = 'data/file1.txt';
$rule_list[1] = 'data/file2.txt';
$list = $archive->extract(PCLZIP_OPT_BY_NAME, $rule_list);
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
Фильтр может быть массивом или текстовой строкой с перечислением через
запятую.
$archive = new PclZip('test.zip');
$list = $archive->extract(PCLZIP_OPT_BY_NAME,
"data/file1.txt,data/file2.txt");
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также: PCLZIP_OPT_BY_PREG, PCLZIP_OPT_BY_INDEX и PCLZIP_OPT_BY_EREG.
PCLZIP_OPT_BY_EREG
Этот параметр позволяет извлекать файлы и папки отфильтровывая их регулярным
выражением. Используется функция PHP 'ereg()'.
$archive = new PclZip('test.zip');
$list = $archive->extract(PCLZIP_OPT_BY_EREG, "txt$");
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также PCLZIP_OPT_BY_PREG, PCLZIP_OPT_BY_NAME и PCLZIP_OPT_BY_INDEX.
PCLZIP_OPT_BY_PREG
Этот параметр позволяет извлекать файлы и папки отфильтровывая их регулярным
выражением. Используется функция PHP 'preg()'.
$archive = new PclZip('test.zip');
$list = $archive->extract(PCLZIP_OPT_BY_PREG, "txt$");
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также PCLZIP_OPT_BY_EREG, PCLZIP_OPT_BY_NAME и PCLZIP_OPT_BY_INDEX.
PCLZIP_OPT_BY_INDEX
Позволяет извлекать файлы и папки указывая их индексы в архиве.
$archive = new PclZip('test.zip');
$list = $archive->extract(PCLZIP_OPT_BY_INDEX, array ('0-4','2-7','10-33'));
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также PCLZIP_OPT_BY_PREG, PCLZIP_OPT_BY_NAME и PCLZIP_OPT_BY_EREG.
PCLZIP_OPT_EXTRACT_AS_STRING
Позволяет извлечь файл в строковую переменную а не в файл.
Это может понадобиться, если вы хотите получить содержимое файла без
использования файловой системы.
Для примера:
- показать 'readme' файл;
- непосредственно выдать файл пользователю (смотри так же
PCLZIP_OPT_EXTRACT_IN_OUTPUT).
Вы должны быть внимательными извлекая все файлы из архива. Это может привести
к нехватке памяти.
$archive = new PclZip('test.zip');
$list = $archive->extract(PCLZIP_OPT_BY_NAME, "data/readme.txt",
PCLZIP_OPT_EXTRACT_AS_STRING);
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
exit;
}
echo $list[0]['content'];
|
См. также PCLZIP_OPT_EXTRACT_IN_OUTPUT.
PCLZIP_OPT_EXTRACT_IN_OUTPUT
Этот аргумент дает вам возможность извлечь файл непосредственно на устройство
вывода, подобно команде echo.
$archive = new PclZip('test.zip');
$list = $archive->extract(PCLZIP_OPT_BY_NAME, "data/readme.txt",
PCLZIP_OPT_EXTRACT_IN_OUTPUT);
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также PCLZIP_OPT_EXTRACT_AS_STRING.
PCLZIP_OPT_NO_COMPRESSION
Позволяет добавить файл в архив не сжимая его.
$archive = new PclZip('test.zip');
$list = $archive->add("data/file.txt", PCLZIP_OPT_NO_COMPRESSION);
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
PCLZIP_OPT_COMMENT
Позволяет добавить комментарий к архиву. Если комментарий уже существует,
заменит его.
$archive = new PclZip('test.zip');
$list = $archive->create("data", PCLZIP_OPT_COMMENT, "Add a comment");
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также PCLZIP_OPT_ADD_COMMENT и PCLZIP_OPT_PREPEND_COMMENT.
PCLZIP_OPT_ADD_COMMENT
Позволяет добавить комментарий к архиву. Если комментарий уже существует,
добавит новый комментарий в конец существующего.
$archive = new PclZip('test.zip');
$list = $archive->add("data", PCLZIP_OPT_ADD_COMMENT,
"Add a comment after the existing one");
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также PCLZIP_OPT_COMMENT и PCLZIP_OPT_PREPEND_COMMENT.
PCLZIP_OPT_PREPEND_COMMENT
Позволяет добавить комментарий к архиву. Если комментарий уже существует,
добавит новый комментарий перед имеющимся.
$archive = new PclZip('test.zip');
$list = $archive->add("data", PCLZIP_OPT_PREPEND_COMMENT,
"Add a comment before the existing one");
if ($list == 0) {
echo "ERROR : ".$archive->errorInfo(true);
}
|
См. также PCLZIP_OPT_COMMENT и PCLZIP_OPT_ADD_COMMENT.
Страницы:
0 1 2 3 4 5 6 7 8 9 10 |Все сразу|