I have a download script on IIS 5 and Php 4.0.6 as cgi:

 $filename=PDF_PATH.$codfile.".pdf";
  $fp=fopen($filename,"rb");
  if ($fp)
  {
   header("Content-type: application/octet-stream\n" );
   header("Content-transfer-encoding: binary\n");
   header("Content-length: " . filesize($filename) . "\n");
   header("Content-disposition: attachment; filename=".$codfile.".pdf\n");
   $contents="";
   while (!feof($fp))
   {
    $contents .= fread($fp, 1000);
   }
   fclose($fp);
   print($contents);


the script works very well.
But if the user press the Cancel button in the browser download dialog, the
current php process stop working. If i try to load a new page another php
process is spawned, but do nothing.
If i look in the task manager i see my php processes running (without doing
nothing).
When the timeout occurs the php engine continue wotking correctly.

If i close the browser while php is hang, and i start a new browser session
the php pages are correctly processed.


I try several other methods :
readfile,fpassthru,fread($fp,filesize),read and print a small chunks of
data, but nothing change, when the user abort the download operation the php
hang.

This behaviour is very similar to the following bug:
http://bugs.php.net/?id=8215 , that appears to be closed





--
Gianluca Morello
Editek S.r.l.
http://www.editek.it
Via Vitruvio, 43 - Milano
Mail: [EMAIL PROTECTED]
Tel. : 02-671166208
Fax : 02-67493766



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to