Архивирование в zip

korvin0

моська
L-ZiX
могу подсказать, как работать с классами на сайте tony2001, т.к. они нисколько не сложнее какого-то pclZip.
 

_RVK_

Новичок
Переводи кирилицу в латиницу. Не стоит использовать кирилицу в имени файла.
 

L-ZiX

Guest
korvin0 если не трудно, то напиши пару примеров архивирования и разархивирования zip-ов.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Помогите please с pclZip...

-~{}~ 08.10.04 11:36:

Diesel Так кириллица не в имени архива, а в имени того файла, который мы пакуем.
P.S. какая функция (если есть) переводит кирилицу в латиницу???
 

_RVK_

Новичок
P.S. какая функция (если есть) переводит кирилицу в латиницу???
Такой нет, но несложно самому написать, в крайнем случае, поискать в яндексе.
Так кириллица не в имени архива, а в имени того файла, который
Сори, тогда расскажи о проблеме подробнее.
 

L-ZiX

Guest
Dieselпри закаковки файла азбука.txt в архив arch.zip после выполнения операции внутри архива лежит файл рчсәър.txt.
или файл СЧЁТ.xls запаковывается как T++T.xls
вот такие глюки...
в чём проблема - незнаю
и ещё не берёт файлы, в названии которых есть запятая
допустим хочу запаковать файл 'documents,games,soft.txt'
а pclZip неполучает полное имя файла (или получает и сам обрезает) и обрезает имя файла после запятой вместе с ней
короче говоря он мне сообщает что не может найти файл 'documents'
почему??? не могу найти решение данной проблемы
ну запятые я могу и повырезать из имени, а вот как быть с кириллицей?
 

Макс

Старожил PHPClub
[offtop]
эх, вот если бы ты начинал работать с компом еще со времен MS DOS, то у тебя не было бы привычки сохранять файлы с русскими именами :)
[offtop]
 

L-ZiX

Guest
Макс[offtop] если бы ты знал, что я работаю с компами с 1995 года начиная с 286 с 12Мегагерцами, ты б такого не писал.[offtop]
Просто пользователи в нашем проекте должны иметь возможность сохранять свои файлы, и выгружать их либо в истинном виде, либо в виде zip-архива, в котором опять же должен лежать пользовательский файл с родным названием

-~{}~ 08.10.04 14:07:

Прошу помощи по http://tony2001.phpclub.net/files/ziplib.phps :
покажите плизз пример использования данной либы
а) при архивировании файла abc.txt в архив texts.zip
б) при разархивировании файла abc.txt из архива texts.zip
у кого есть возможность, помогите, подскажите как выполнить данные операции с помощью этой либы
 

Alexandre

PHPПенсионер
L-ZiX а почему gZip не рулит?
прост
есть все режимы
разархивирование на винде - без проблем?
 

L-ZiX

Guest
Alexandre я думаю психологический фактор
люди, работающие с архивами привыкли работать с zip или rar
а когда скачаваешь архив, а внутри него ещё один архив, и там уже файл - это ИМХО по меньшей мере кажется странно
для удобства пользователей необходимо реализовывать zip
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
блин.... работают же спецы с http://tony2001.phpclub.net/files/ziplib.phps
неужели трудно выкинуть пару примеров использования данной либы. не могу я сам в ней разобраться
с pclZip я вроде разобрался, но он глючит или не может работать с файлами, в названии которых есть кириллица
а наличие кириллицы - необходимая возможность в либе, или вообще в реализации запаковки файлов.


Alexandre подскажите, как передать пользователю файл из архива, не сохраняя его на жёстком диске, т.е. как-нить через переменную? возможно?
 

Alexandre

PHPПенсионер
закаковки файла азбука.txt в архив arch.zip после выполнения операции внутри архива лежит файл рчсәър.txt.
или файл СЧЁТ.xls запаковывается как T++T.xls
А что тебе мешает сделать так:
1) запомнить имя файла - без расшитрения.
2) переименовать файл в nnnmmm.расширение
3) запаковать файл nnnmmm.расширение в nnnmmm.zip
4) переименовать в <начальное имя>.zip

Тоже мне проблему нашли, пять строчек кода.
 

Alexandre

PHPПенсионер
люди, работающие с архивами привыкли работать с zip или rar
а когда скачаваешь архив, а внутри него ещё один архив, и там уже файл - это ИМХО по меньшей мере кажется странно
для удобства пользователей необходимо реализовывать zip
L-ZiX
Люди работают не с zip или rar, а с WinZip и WinRar, это разные программы (работа с pkzip rar и unrar ушла в небытие...), а WinZip и WinRar, которые позволяют разархивировать формат gz БЕЗ Проблем
 

L-ZiX

Guest
Alexandre дык, внутри архива имя файло не будет соответствовать исходному. сам архив кириллицы содержать не будет. будет что-то типа id###. а вот файл внутри архива должен быть назван так, как он был назван изначально
~~~~~~
Diesel ну файлы пользователей я буду все хранить в архивах. а пользователю я должен предоставить право выбора формата скачивания файла: или зип или сам файл, такой, какой он был до upload.
вот я и думаю над реализации данной фичи.

-~{}~ 08.10.04 15:31:

Alexandre Цитирую: а когда скачаваешь архив, а внутри него ещё один архив, и там уже файл - это ИМХО по меньшей мере кажется странно
 

Alexandre

PHPПенсионер
как передать пользователю файл из архива, не сохраняя его на жёстком диске, т.е. как-нить через переменную?
функции GZip позволяют сделать все,
http://ru.php.net/manual/en/function.gzopen.php
Opens a gzip (.gz) file for reading or writing.
 

_RVK_

Новичок
L-ZiX
Я не пойму что значит "передать пользователю файл", как передать, куда передать? Если ты можешь передать архив, то в чем проблема так же передать обычный файл?

-~{}~ 08.10.04 15:41:

я должен предоставить право выбора формата скачивания файла: или зип или сам файл
Распаковал, отправил нужные заголовки и отдал файл. Зачем сохранять?
 

L-ZiX

Guest
Diesel архив могу передать, т.к. он действительно находится на сервере. а вот как сделать так, чтобы при запросе исходного файла скрипт распаковал содержимое в темповую папку, считал файл в переменную, и после передал данную переменную как файл пользователю для download

korvin0помогите с классом tony2001
покажите плизз пример использования данной либы
а) при архивировании файла abc.txt в архив texts.zip
б) при разархивировании файла abc.txt из архива texts.zip

-~{}~ 08.10.04 15:45:

Diesel в-в-вот. точно. подскажи плизз какие заголовки передавать??? как понимаю передавать их надо через header.
 

_RVK_

Новичок
L-ZiX
Нет, но я не пойму что тебе мешает поэксперементировать, посмотреть код. Имена методов, обычно, говорят сами за себя.
 

korvin0

моська
добавление файла:
$write_zip = new ZipWriter('', 'array.zip');
$write_zip->addRegularFile('text.txt', file_get_contents('text.txt'));
$write_zip->finish();
чтение файлов:
$read_zip = new ZipReader('array.zip');
$file_from_zip = $read_zip->readFile();
$read_zip->done();
в $file_from_zip теперь array($filename, $data, $attrib);
это, конечно, не все возможности этой либы, но по этим азам я думаю ты дальше сможешь сам че-нить сделать.
 
Сверху