Hi,
ich habe Probleme, per PHP-Script eine HTTP-Partial-Content-Antwort richtig zu senden. Wenn ich folgende Anfragen per curl auf der shell mache, scheint alles richtig zu sein:
Versuche ich jedoch den Firefox und seine Resume-Funktion beim Download zu verwenden, kann ich zwar den Download pausieren, jedoch gibts beim Resume eine Fehlermeldung, dass der Firefox die Datei nicht lesen kann.
Ist irgendetwas an den Headern, die ich zurücksende, falsch oder fehlt etwas?
Danke und Grüße,
Christoph
ich habe Probleme, per PHP-Script eine HTTP-Partial-Content-Antwort richtig zu senden. Wenn ich folgende Anfragen per curl auf der shell mache, scheint alles richtig zu sein:
Code:
christoph@guido:~$ curl --dump-header - http://192.168.3.165/test/download/ HTTP/1.1 200 OK Date: Wed, 16 Jun 2010 15:50:02 GMT Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4.6 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.6-2ubuntu4.6 Set-Cookie: PHPSESSID=fe803a108abd291ac72cc7d0be3bb709; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-cache, must-revalidate Pragma: protected Set-Cookie: PHPSESSID=31225b03420b6534669bf38b9b09fb44; path=/ Content-Disposition: attachment; filename=test.php Accept-Ranges: bytes Content-Length: 270 ETag: 16af3235fac954f8d63ed446e478ee1e Content-Type: application/x-php; charset=utf-8 <?php class PageController extends GlobalController { public function run() { $file = __FILE__; $handle = fopen($file, 'r'); $this->view->setHandler('plain'); $this->view->setContent($handle); $this->view->setProperty('downloadable', 'test.php'); } }
Code:
christoph@guido:~$ curl -H Range:bytes=7-51 --dump-header - http://192.168.3.165/test/download/ HTTP/1.1 206 Partial Content Date: Wed, 16 Jun 2010 15:50:07 GMT Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4.6 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.6-2ubuntu4.6 Set-Cookie: PHPSESSID=1fe4894313fca5971adbad693f826049; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-cache, must-revalidate Pragma: protected Set-Cookie: PHPSESSID=29ea71fb8dfd4a26b66c28d84bde5a60; path=/ Content-Disposition: attachment; filename=test.php Accept-Ranges: bytes Content-Length: 45 ETag: 16af3235fac954f8d63ed446e478ee1e Content-Range: bytes 7-51/270 Content-Type: application/x-php; charset=utf-8 class PageController extends GlobalController
Versuche ich jedoch den Firefox und seine Resume-Funktion beim Download zu verwenden, kann ich zwar den Download pausieren, jedoch gibts beim Resume eine Fehlermeldung, dass der Firefox die Datei nicht lesen kann.
Ist irgendetwas an den Headern, die ich zurücksende, falsch oder fehlt etwas?
Danke und Grüße,
Christoph
Kommentar