eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwProblem z nagłówkami HTTP 1.1Problem z nagłówkami HTTP 1.1
  • Data: 2009-09-30 00:35:01
    Temat: Problem z nagłówkami HTTP 1.1
    Od: "Marek" <m...@s...interia.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Witam,

    Mam problem z określeniem wartości przekazywanej w nagłówku Content-Length.
    Otóż skrypt PHP wysyła zawartość pliku w następujący sposób:

    header('HTTP/1.1 200 OK');
    header("Etag: \"".$fileInfo["Etag"]."\"");
    header("Content-Type: ".$fileInfo["file_mime"]);
    header("Last-Modified: ".$fileInfo["Date"]." GMT");
    header("Content-Length: ".(strlen($fileInfo["file_data"])+20));
    print($fileInfo["file_data"]);

    Plik SWF odebrany przez przeglądarkę jest o 20 bajtów krótszy niż zwraca
    strlen($fileInfo["file_data"]). Gdy jest nim SWF, to dzieją się wtedy cuda z
    tą animacją. Po przekazaniu do nagłówka Content-Length długości pliku
    powiększonej o 20, wszystko działa poprawnie, plik przechodzi w całości. W
    przypadku gdy do czynienia mamy ze zwykłymi obrazkami, to nie muszę dodawać
    tych 20 bajtów, a raczej nie mogę nawet, gdyż wtedy z nimi zaczynają być
    problemy. Przeglądarka wtedy czeka na brakujące 20 bajtów, które nigdy nie
    nadejdą.

    Zmodyfikowałem więc procedurę liczenia długości w następujący sposób:

    $length=strlen($fileInfo["file_data"]));
    if ($fileInfo["file_mime"]=="application/x-shockwave-fl
    ash") $length+=20;
    header("Content-Length: ".$length);


    Czy ktoś z Was wie skąd to 20 bajtów?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: