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

In cURL konnte ich das allerdings nicht sehen, weil die Header völlig ok waren. *doh*
Kommentar