Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Igor Nikolaev                        2:5030/266     14 Aug 2000  04:31:15
 To : Ilya Rubtsov
 Subject : Re: чтение бинарных файлов (CGI)
 -------------------------------------------------------------------------------- 
 
 Ilya Rubtsov <perl@perl.pp.ru> wrote:
 
 > Хммм... Hу, покомпактней, да, и что с того? Ты про мои ошибки вроде
 > что-то говорил? И где же они? То что я не проверяю путь к файлу на
 
 [skip]
 
 > Прошу указать на мои конкретные ошибки(с учетом всего, что я сказал).
 
 : $file = "h:/apache/htdocs/xext/$list[$random]";
 
 my?
 
 : open (FILE, $file);
 
 or die...
 
 : binmode(FILE);
 : @image = <FILE>;
 
 array на input совершенно не нужен,
 в плохом случае отожрёт массу памяти.
 
 : $flsize = -s $file;
 
 -s на в нетривиальных случаях может показать лажу,
 $file *уже* прочитан тобой, stat FILE пожалуйста
 или просто length $image ;-)
 
 Уж если размер файла получен, то не грех проверить,
 что он ненулевой.
 
 : binmode(STDOUT);
 : print "Content-type: image/jpeg\n";
 : print "Content-leight: $flsize\n\n";
 
 Параметр 'Content-leight' не имеет смысла.
 
 Лучше не закладываться на особенности квантования
 и буферизации пакетов в os и выводить объект одним буфером.
 
 : for (@image) {
 :        print;
 : }
 
 Если прижало распечатать массив, то print @image;
 Если jpeg большой, памяти мало, в картинке \n не встречается,
 то увеличивается шанс вылететь по отсутствию памяти.
 
 : close (FILE);
 
 Перетащить в начало.
 Как результат, предложенный тобой код не очень корректно
 делает много лишнего и ненужного. imho в качестве примера
 его лучше не приводить - слишком много править, ничего
 не остаётся...
 
 -- 
 Игорь Hиколаев
 
 --- ifmail v.2.12.os.sensi
  * Origin: Рупь давай. (2:5030/266@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: чтение бинарных файлов (CGI)   Igor Nikolaev   14 Aug 2000 04:31:15 
Архивное /ru.perl/13416bff26569.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional