![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: нет Всего: 2 |
Приветствую. Проблема, похоже, мистическая
![]() Суть: на сервере имеется хранилище файлов, все они — zip-архивы. Пользователь скачивает любой файл, который захочет, через скрипт. Иными словами, существует скрипт, который все эти файлы раздает. На входе zip-ы целые, открываются, распаковываются. На выходе, при сохранении скачанного файла, происходит следующее: архив выглядит вполне целым, весит столько же и содержит ту же структуру. Однако, при попытке его распаковать, архиватор ругается на неожиданный конец архива. То есть, файл каким-то каком или недокачивается, или перекачивается (добавляются левые символы?) Вот код Perl, с помощью которого отдаю файл пользователю:
Ткните носом, плиз, очень нужно! Добавлено через 2 минуты и 11 секунд Да, забыл добавить, что binmode( $fd ) уже пробовал убрать, но проблему это не решило. |
|||
|
||||
ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
shootnix, советую сделать diff на пару файлов, чтобы узнать, в чем они не совпадают.
Может еще попробовать binmode(STDOUT)? -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
Попробуйте заменить
на
Добавлено через 14 секунд опоздал) -------------------- Died at Life.pl line 21 |
|||
|
||||
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: нет Всего: 2 |
Попробовал. Ничего существенного не изменилось. Только тормозить стал.
Недокачивается последние несколько байт файла, может, даже последний байт вообще. В остальном, файлы идентичные. На сервере тоже граблей не обнаружено, запускал на локальном под Виндовз и на удаленном под Линукс. Это сообщение отредактировал(а) shootnix - 22.5.2008, 18:12 |
|||
|
||||
ginnie |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 4 Всего: 49 |
shootnix, я бы сделал следующее:
если размер совпадает, дело явно не в скрипте. Добавлено через 9 минут и 20 секунд В бинарный режим надо переводить оба потока:
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||
|
|||||
shootnix |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: нет Всего: 2 |
Точно
![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |