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

L-ZiX

Guest
korvin0 огромное спасибо... в понедельник буду на работе, обязательно попробую... или даже в воскресенье, еслу попаду на работу

Diesel какой путь будет у скачиваемого пользователем файла, ну после передачи заголовков и имени будущего файла, содержимое которого будет представлять переменная??? путь скрипта, который передаёт файл?
(я наверное неправильно сформировал вопрос :( )

Alexandre tony2001 наверное не заглядывал в эту тему..
 

_RVK_

Новичок
Diesel какой путь будет у скачиваемого пользователем файла, ну после передачи заголовков и имени будущего файла, содержимое которого будет представлять переменная??? путь скрипта, который передаёт файл?
А что стоит самому попробовать и посмотреть? ;)
 

L-ZiX

Guest
Diesel Завтра на работе проверю...

Эх надеюсь проблем с классом, который написал не tony2001 не будет проблем... ну вобщем завтра увижу...

-~{}~ 11.10.04 08:36:

добавление файла:

$write_zip = new ZipWriter('', 'array.zip');
$write_zip->addRegularFile('text.txt', file_get_contents('text.txt'));
$write_zip->finish();
не корректно работает. данный код не сохраняет на сервере а предлагает пользователю скачать полученный архив. ? почему?
 

korvin0

моська
L-ZiX
хм, это встроено в класс.
покопайся там в коде, убери header(...) и сделай вместо него сохранение на винт. я думаю, это не так уже сложно.
 

L-ZiX

Guest
korvin0 попробую переделать класс.... я тож подумал сначала что необходимо изменять его... т.к. других вариантов сохранения не нашёл в нём

-~{}~ 11.10.04 16:04:

korvin0 слушай... чёт я не разберусь в нём...

кто пробовал сохранять архив через класс не_tony2001 в файл на сервак а не пользователю ???????????

-~{}~ 11.10.04 16:05:

tony2001 помоги ... как через не_твой класс сохранить полученный архив на сервак в указанную директорию ????
 

korvin0

моська
L-ZiX
как ... сохранить ... архив на сервак в указанную директорию ????
возникла типичная проблема: upload файла. не знаю, как вставить ссылку (т.к. мне никто не объяснил, хоть я и просил), но тебе нужно пойти на phpfaq.ru и прочитать про UPLOAD
 

L-ZiX

Guest
korvin0 дык... как upload сохранять я знаю... а вот как сохранять результат работы класса tony2001 на сервер, а не отдавать пользователю на download я не знаю...
 

L-ZiX

Guest
korvin0 вобщем ситуация такова:
пользователь через upload закидывает файл на сервер
сайт должен запаковать его в зип и копирнуть архив в нужную папку

с помощью pclZip я всё это реализовывал, но у него ограничение на спец.символы в названии файла-исходника а также он не переваривает кириллицу.
поэтому я и пробую реализовать ту же задачу, но через класс tony2001.

а етот класс результат (архив) отправляет пользователю блин.
а вот как его переделать чтобы он результат своих трудов на серваке сохранял а не отдавал на download.

вот такая блин задачка...

-~{}~ 12.10.04 08:15:

korvin0 вобщем переделал я класс. делает теперь всё как надо. он не сохраняет а возвращает переменную, в которой содержится архив. ну а её не долго сохранить.
кириллицу в имени файла-исходника понимает, запаковывает как надо. а вот запятую в имени исходного файла так и не понимает. ну это уже сильно значимо.

P.S. pclZip и Archive_Zip (лежит на pear'е) - одно и то же !!!
P.P.S. ну и глючят они одинаково.
 

L-ZiX

Guest
korvin0ага. правда я ещё не проверял распаковку. кабы там проблемы не вылезли.
он после распаковки файл пользователю передаёт на download?
 

L-ZiX

Guest
korvin0 слушай, он не отправляет на даунлоад.
я вставил:
header("Content-Type: application/zip; name='$zip_name'");
header("Content-Disposition: attachment; filename='$zip_name'");
echo $file_from_zip[1];

а он 0 эмоций, не отправляет, а просто выводит на экран содержимое файла. в чём ошибка?
 

korvin0

моська
попробуй
header("Content-Type: application/zip\n");
header("Content-Disposition: attachment; filename=" . $zip_name . "\n");
echo $file_from_zip[1];
 

L-ZiX

Guest
korvin0 слушай, а на даунлоад ведь не зип отправляется а распакованный файл. чё переделать в строке:
header("Content-Type: application/zip\n");
а то у мня опера любой скачиваемый файл с расширением зип делает...

-~{}~ 13.10.04 14:31:

korvin0 а если без этой строки, то как htm делает

-~{}~ 13.10.04 14:33:

korvin0 глюк только в опере, в ИЕ всё в поряде

-~{}~ 13.10.04 14:56:

поставил header("Content-Type: application/x-msdownload\n");
работает
можно ли через заголовки отправить размер файла???
а то при скачивании невозможно определить размер будущего файла
 

korvin0

моська
вообще-то классика - это header("Content-Type: application/octet-stream\n");
а вот как передать размер файла - это мне тоже интересно узнать...

-~{}~ 13.10.04 16:32:

похоже, что надо "Content-length: число_байт" посылать
 

L-ZiX

Guest
korvin0 Content-length работает
header("Content-Type: application/x-msdownload\n"); - глючит
header("Content-Type: application/octet-stream\n"); - глючит
header("Content-Type: application/stream\n"); - работает 100%
 
Сверху