![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pewne pliki: (jpg, pdf, archiwa .zip) chciałbym pobierać z serwera ale nie bezpośrednio tworząc odsyłacze ale poprzez skrypt (lokalizacja plików powyżej katalogu głównego serwisu). W tym celu wykorzystuje funkcję:
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? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Twoj skrypt wysyla procz obrazku rowniez znak nowej linii.
Pewnie gdzies w kodzie po drodze masz takowy, np na poczatku <?php jest nowa linia wpierw (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Być może. Będę to sprawdzał. Jednak czy o tym, że problem może wynikać z czegoś innegonie świadczy fakt, że:
1) pliki .pdf pobierane są poprawnie, 2) na localhost ten sam skrypt działa poprawnie i pliki graficzne są pobierane jako nieuszkodzone, 3) całość przed wysłaniem jest buforowana ob_start(); ob_end(); więc nic chyba nie powinno być przed nagłówkami wysyłane. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
PLikom pdf moze nie szkodzic ten enter. Czytniki moga go poprostu ignorowac.
Co do buforowania to moze zalezec wszystko od ustawien php na serwerze. Masz az tyle plikow po drodze ze znalezienie tego entera to nie kwestia minuty? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 7 Dołączył: 10.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
ad 1)
Pewnie .pdf nie przeszkadza ad 2 i 3) to już wiadomo dlaczego na localhost może działać, a na serwerze już nie koniecznie. Plików raczej nie ma dużo. Główny plik index.php który to wszystko skleja w całość. Plik, który odpowiedzialny jest za działanie sekcji pobierania plików (w nim wywołanie tej funkcji). No i includowane pliki funkcji. Problem więc nie wynika raczej z ilości plików, a z tego, że nie wiem czego szukać (IMG:style_emoticons/default/wink.gif) Czy w Web Developerze lub jakimś innym narzędziem w przeglądarce można prześledzić co i kiedy jest wysyłane do przeglądarki czyli wychwycić ten znak nowej linii? Czy do odnalezienia takiego miejsca można czegoś użyć po za doświadczeniem i spostrzegawczością? Ok. Mam (IMG:style_emoticons/default/smile.gif) Oczywiście miałeś rację i przed nagłówkami były wysyłane do przeglądarki znaki. Trochę jednak sprawa wygląda inaczej bo do jednego z includowanych plików na początku był dodany złośliwy kod. Znak nowej linii był widoczny w źródle strony. Kod
i cała reszta zaczynała się od drugiej linii. Na localhoscie pracuje na niezainfekowanych plikach i dlatego to działało... Dziękuje. Ten post edytował q3d 23.11.2016, 13:32:16 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hehe, to i przy okazji znalazles wirusa (IMG:style_emoticons/default/biggrin.gif) Wisisz mi garnczek miodku jak nic (IMG:style_emoticons/default/wink.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 07:19 |