Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы при выдаче бльшого файла через скрипт 
:(
    Опции темы
LaWay
Дата 21.8.2005, 00:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Народ. подскажите в чем проблема! Мне необходимо скриптом выдать пользователю файл, я это делаю так:
Код

  
  header('Content-type: application/octet-stream'); 
  header('Content-Disposition: attachment; filename='.$FileName); 
  header('Content-length: '.$size); 
  $f=fopen($FileName,'rb'); 
  if($f){ 
    while(!feof($f)){ 
      $str=fread($f,16384); 
      echo $str; 
      flush(); 
    } 
  }

В итоге, при запросе скрипта сначала большая пауза, потом идет закачка, но она регулярно обрывается на 70-75%. В чем может быть проблема?
  Вверх
Mal Hack
Дата 21.8.2005, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Объясняю. Ты читаешь файл и читаешь всегда по 16 килобайт и выводишь их. А файлики-то наверное бинарные, так что так нельзя.
Вот так надо:
Код

$file_server_path = "123.zip";
$download_size = filesize( $file_server_path );

header("Content-type: application/x-download");
header("Content-Disposition: attachment; filename=" . $file_server_path  . ";");
header("Accept-Ranges: bytes");
header("Content-Length: " . $download_size );
readfile( $file_server_path );

PM ICQ   Вверх
LaWay
Дата 21.8.2005, 01:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я и читаю в бинарном режиме и открываю в нем же. В твоем варианте пауза между запросом и выдачей намного увеличилась. Настолько, что никак не могу дождаться, пока появится окно с предложением о сохранении smile
  Вверх
Mal Hack
Дата 21.8.2005, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Сколько файл весит?
ЗЫ: еще было бы неплохо зарегистрироваться на форуме.
PM ICQ   Вверх
laway
Дата 23.8.2005, 01:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Файлы весят по 20-30 Мб. Скачивается соответственно 17-25. Разрешенное время выполнения скрипта на сервере - около часа. При моей скорости сети эти 17 МБ скачиваются за 5 минут, так что проблема не в этом
  Вверх
Mal Hack
Дата 23.8.2005, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Странно это все...
Кажется мне, что тут не в PHP дело...
Ради интереса, попробуй этот файл средствами PHP скопировать...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.