function download_document($page) { $path = BASE_DOCS_URI.$page['url'][1][6].'/'.$page['id']; $fullPath = $path.'/'.$page['url'][1][7]; switch ($ext) { case "pdf": header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); // use 'attachment' to force a download break; case "jpg": header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); // use 'attachment' to force a download break; default; } } } }
Dla dokumentów pdf jest ok.
Problem dotyczy plików zdjęć (.jpg). Niezależnie czy pobrany plik wyświetle w programie do przeglądania obazów czy też w zapiszę lokalnie, a następnie wyświetlę otrzymuje błąd:
"Not a JPEG file: starts with 0x0d 0x0a".
Plik przekopiowany przez FTP lub przeniesiony do katalogu tak by umożliwić do niego dostęp z poziomu adresu przeglądarki internetowej wyświetla się jednak poprawnie. Czyli plik nie jest uszkodzony i jak sądzę zostaje uszkodzony w momencie przesyłania.
Co gorsza błąd występuje wyłącznie gdy pobieram plik z serwera produkcyjnego. Na moim localhoscie pobierane w ten sposób pliki graficzne wyświetlają się poprawnie.
Jakieś sugestie?