Pobieranie nagłówków wysłanych przez klienta do serwera

0

Witam.

Czy wie ktoś może w jaki sposób po stronie serwera pobrać nagłówki przesłane od klienta do serwera? Chodzi mi o alternatywę dla apache_request_headers()/getallheaders(), która działa tylko dla Apache'a ? A konkretnie potrzebuję pobrać wartość nagłówka Content-Length oraz Content-Type. Poprzez $_SERVER[] jest to niewykonalne.

Z góry dziękuję za pomoc.

Paweł

0

Ale klient nie wysyła do serwera Content-Type i Content-Length tylko to leci od serwera do klienta - i serwer sam to określa na podstawie np. danych ze skryptu (końcowy typ, albo wybrany poprzez header() w PHP i rozmiar wynikowych danych)...

Klient jedynie wysyła Accept i Accept-Charset.

0

Jeśli postuje dane to klient wysyła dane do serwera. Problem z tym, że nie mogę pobrać rozmiaru postowanych danych. Trochę pogrzebałem i zauważyłem, że to ogólnoświatowy problem. To dlatego wiele stron z uploadem nie ma paska postępu :( Da się to jedynie zrobić z perlem. Ale może ktoś zna jakiś sposób bez perla?

0

http://pl.php.net/manual/en/features.file-upload.php

ale i tak te informacje dostajesz dopiero, jak wyślesz całe zapytanie. Lepiej zrób z perlem :)

edit: jeszcze takie rozwiązanie mi przyszło - jeżeli to są specyficzne dane (np. obrazki) to możesz przy wysylaniu formy odpalać ajaxa, który by znowu znajdował (jak?) plik tymczasowy, z którego czytał by nagłówek i na jego podstawie szacował rozmiar. Tak czy siak nie wiadomo, czy to w ogóle by się udało i na 100% było by dużo trudniejsze, niż zastosowanie cgi :]

0

Kiedyś w magazynie Internet był taki skrypt ("uploader z paskiem postępu"), który działał na tej zasadzie, że wysyłał plik 2 razy. Wpierw wysyłał plik przez 1-2 sekundy po czym przerywał wysyłanie - z serwera odczytywał nagłówek content-length, dzięki czemu rozmiar pliku był znany. A później wysyłał ponownie tym razem już cały plik. Problem z tym, że tam właśnie wykorzystywał funkcję "apache_request_headers()".

Ale dziękuję za pomysły chyba na moim serwerze bez CGI się nie obejdzie :) Szkoda JavaScript nie ma uprawnień do odczytu rozmiaru plików, mogliby tę funkcję umożliwić, nie powinno to zbytnio zagrażać bezpieczeństwu użytkowników.

1 użytkowników online, w tym zalogowanych: 0, gości: 1