во время даунлоада

Ivan_web

Новичок
во время даунлоада

// - в новом окне
$dir = PATH;
$filename = file_name;

header("Cache-Control: ");
header("Pragma: ");

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$filename."\"");
header("Content-length:".(string)(filesize("$dir$filename")));

//sleep(1);

$fp=fopen($dir.$filename, "rb");
fpassthru($fp);

exit();


Привет.
Этот скрипт открывается в отдельном окошке - и, кода происходит скачивание файла - по сайту ходить нельзя.

т.е. - файл скачивается - нажимаешь на линк на сайте - тупит всё..
прерываешь закачку - страница грузится - в чём проблема?
и есче - не показывает filesize


Спасибо
 

Макс

Старожил PHPClub
сессии используются ?

-~{}~ 20.05.04 12:12:

если да, то [m]session_write_close[/m]
 

young

Новичок
я никогда не понимаю чем код
filesize("$dir$filename")
лучше
filesize($dir.$filename)
 

Ivan_web

Новичок
автостарт сессия включена -
и там, выше этого скрипта идёт проверка,
авторизирован юзер или нет
если да - скрипт на скачивание - нет - нафиг
 

young

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

Ivan_web

Новичок
Спасибо - с сессией понял - работает

а вот размер не показывает даже с
header("Content-length:".(string)(filesize($dir.$filename)));
 

SiMM

Новичок
Автор оригинала: Ivan_web
а вот размер не показывает даже с
header("Content-length:".(string)(filesize($dir.$filename)));
Впиши в начале приведённого тобою куска скрипта
PHP:
echo PATH.file_name;
exit;
О результатах вывода - доложи, если сам ни до чего не догадаешься
 

Ivan_web

Новичок
echo $dir.$filename;

результат
/usr/local/apache2/download/test.zip

дело в кавычке?
у меня так
header("Content-length:".(string)(filesize($dir.$filename)));
a yflj
header("Content-length:".(string)(filesize($dir.$filename)).");
?
я чёто запутался с этим

спасибо

-~{}~ 21.05.04 14:44:

ещё фигня какаято

2 окна открываются - а третье уже "Зависает"

и нехочет качать

-~{}~ 24.05.04 11:13:

Фанат писал "проблема в количестве одновременных разрешенных соединений"


но как устранить эту проблему?

где это настроить?

в логе апача нет ошибок

пхп 4 стоит

PHP:
вот код 
<? 
session_write_close(); 
$dir = "/usr/local/apache2/download/"; 
$filename=$file; 

header("Cache-Control: "); 
header("Pragma: "); 

header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=\"".$filename."\""); 
//header("Content-length:".(string)(filesize($dir.$filename))); 

$fp=fopen($dir.$filename, "rb"); 
fpassthru($fp); 
exit(); 
?>
и это не работает только под IE
т.е. в мозилле, опере - сколько угодно одновременных закачек

-~{}~ 24.05.04 13:37:

что - никто не знает как с этой проблемой бороться?


кстати только в опере работает

-~{}~ 24.05.04 14:09:

если я вылаживаю файлы открыто
http://name.com/download/test.zip

то скачивается нормально - а через скрипт только 2 файла...

-~{}~ 24.05.04 18:58:

спасибо
 
Сверху