Нужна помощь
Wadik |
|
---|---|
Доделываю проект на базе Cotonti и возникла досадная проблема. Есть txt файлы(кодировка WINDOWS-1251) и пару jpeg, которые на лету архивируются в zip файл. На седе все библиотеки по архивации работают нормально, а на cotonti совсем не хотят работать. Архив пользователю отдается, однако битый и без txt файлов внутри(jpeg файлы присутствуют).
Помогите пожалуйста! Очень не охото откатывать на seditio =( |
Ratibor |
|
---|---|
# Wadik : Доделываю проект на базе Cotonti и возникла досадная проблема. Есть txt файлы(кодировка WINDOWS-1251)WINDOWS-1251 - это кодировка текста или имена файлов на русском ? Если первое, то это никак не должно влиять, если конечно юзаешь нормальные скрипты для архивации. Не задавай глупых вопросов, не услышишь вранья.
|
|
This post was edited by Ratibor (2009-02-20 18:49, 15 years ago) |
Wadik |
|
---|---|
Ratibor, у меня текст в 1251. А в названиях фалов только цифры. Пробовал и pear подключать и классы с phpclasses. Подскажи пожалуйста любой метод архивации файлов в zip налету, который бы нормально пошел на cotonti. Буду очень благодарен тебе, если бы ты помог с моей проблемой.
|
Ratibor |
|
---|---|
Wadik
Как я смогу подсказать не видя твоих скриптов ? Давай те которые работают под Seditio, я посматрю. Не задавай глупых вопросов, не услышишь вранья.
|
Wadik |
|
---|---|
Ratibor, Отправил по ЛС. =) Чесное слово, уже не знаю как изощриться, чтобы решить эту досадную ошибку.
|
Ratibor |
|
---|---|
Wadik
В общем не стал я разбираться что у тебя за ботва, в смысле что за скрипт ты используешь для работы с архивом ![]() Вот тебе нормальный класс для работы с zip. Создал test.php: <?php require_once('pclzip.lib.php'); $archive = new PclZip('archive.zip'); $v_list = $archive->add('readme.txt'); ?>Пробовал архивировать файл readme.txt и с кодировкой 1251 и с utf-8, архивирует нормально. В твоем случае примерно получится так: $files1 = '1802175636_826.txt'; $files2 = '1802161930_884.gif'; $files3 = '1802161930_20.gif'; require_once('pclzip.lib.php'); $archive = new PclZip('archive.zip'); $v_list = $archive->add($files1); $v_list = $archive->add($files2); $v_list = $archive->add($files3); В общем используй pclzip.lib.php вместо своего archive.php Вот описание на русском по работе с этим классом. Если скажем тебе надо не файлы, а текст из базы брать, потом писать в текстовый файл, а этот файл архивировать в зип, то в phpmyadmin есть файлик zip.lib.php Берешь его оттуда и вот примерно аким способом юзаешь: <?php include 'zip.lib.php'; $data = 'текст который надо записать в файл и этот файл заархивировать'; $name = 'filename.txt'; $zipfile = new zipfile(); $zipfile->addFile($data, $name); $zipdata = $zipfile->file(); $fp = fopen ('filename.zip', 'w+'); fwrite($fp, $zipdata); fclose($fp); ?> Не задавай глупых вопросов, не услышишь вранья.
|
|
This post was edited by Ratibor (2009-02-20 19:57, 15 years ago) |
Wadik |
|
---|---|
ха))))) заработало)))))) Спасибо огромное, Ratibor
|
Ratibor |
|
---|---|
Да не за что
![]() Не задавай глупых вопросов, не услышишь вранья.
|
Wadik |
|
---|---|
Еще спасибо за очень информационное дополнение))) Кстати, $archive->add() нормально воспринимает массивы, поэтому просто $files.
|