Ostatnio natknąłem się na dość dziwny problem. Na podstawie tego co jest opisane na http://pl.php.net/manual/pl/function.header.php stworzyłem na swoje potrzeby skrypt do wypluwania pliku.
<?php } ?>
Gdzie $link, to ścieżka do pliku na serwerze.
Cały skrypt jest "wewnątrz" ob_start().
Ostatnio zauważyłem, że niektóre pliki (typ nieistotny) po ściągnięciu są uszkodzone, np. plik .zip wykazuje uszkodzenie archiwum. Poszukałem trochę i znalazłem inny, dość ciekawy przykład wypluwania plików, który działał, ale...Na moim kompie, gdzie Apache stoi na Win wszystko jest ok, ale na serwerze, który stoi na Linuxie pojawia się komunikat, że nie można odczytać pliku źródłowego. (Nie wiem czy różnica w systemie ma akurat znaczenie - podałem na wszelki wypadek) Ciekawostka - Opera pobiera plik; FF i IE nie chce.
Po krótkiej analizie, okazało się, że taki efekt powoduje dodanie ob_end_clean(), czyli wyłączenie buforowania przed podaniem pliku.
Gdzieś wyczytałem, że to może być wina Content-Length, ale usunięcie tego nagłówka nie pomaga.
Czy to może być wina źle skonfigurowanego serwera?
Nie mam specjalnie pomysłu gdzie by jeszcze się zaczepić w poszukiwaniu problemu, dlatego proszę o jakieś sugestie.
