Dariusz T.

Dariusz T. DariuszTryba.pl

Temat: Dlaczego obrazek się nie pobiera?

Mam następujący problem:

mam na serwerze obrazek:

Obrazek


Oraz skrypt, który ma pozwolić na jego pobranie:

<?php
// We'll be outputting a PNG
header('Content-type: image/png');
$filename = "Test.png";
header('Content-Disposition: attachment; filename="'.$filename.'"');
readfile('test.png');
?>

niestety na dysku zapisuje się błędny obrazek...
http://www.dtmedia.kei.pl/pobierz/pobierz.php

jak to naprawić?Dariusz T. edytował(a) ten post dnia 21.04.11 o godzinie 09:42
Wojciech J.

Wojciech J. mistrz wwwujitsu

Temat: Dlaczego obrazek się nie pobiera?

Dariusz T.:
Mam następujący problem:
niestety na dysku zapisuje się błędny obrazek...
http://www.dtmedia.kei.pl/pobierz/pobierz.php
jak to naprawić?

Nie widzę problemu; u mnie działajet pod:
fx4, srware 10, ie9, operka 11, k-meleon

Pewnie przekombinowałeś z obsługą nagłówków w przeglądarce, albo testowałeś na localhoście i nie czyściłeś cache przeglądarek. Może.

konto usunięte

Temat: Dlaczego obrazek się nie pobiera?

mała duża litera na początku, sprawdź
Dariusz T.

Dariusz T. DariuszTryba.pl

Temat: Dlaczego obrazek się nie pobiera?

Dzięki za pierwsze odpowiedzi.

Nic nie kombinowałem w przeglądarkach. Na dwóch kompach sprawdzałem (Windows 7) Chrome, IE i jest to samo...

Test.png to nazwa, pod jaką ma się zapisać plik użytkownikowi, a test.png to plik, który jest na serwerze więc tu jest OK.

konto usunięte

Temat: Dlaczego obrazek się nie pobiera?

Dariusz T.:
Dzięki za pierwsze odpowiedzi.

Nic nie kombinowałem w przeglądarkach. Na dwóch kompach sprawdzałem (Windows 7) Chrome, IE i jest to samo...

Test.png to nazwa, pod jaką ma się zapisać plik użytkownikowi, a test.png to plik, który jest na serwerze więc tu jest OK.

racja... rzuciłem tylko okiem i to była pierwsza rzecz jaką wyłapałem...
Wojciech J.

Wojciech J. mistrz wwwujitsu

Temat: Dlaczego obrazek się nie pobiera?

Dariusz T.:
Dzięki za pierwsze odpowiedzi.

Nic nie kombinowałem w przeglądarkach. Na dwóch kompach sprawdzałem (Windows 7) Chrome, IE i jest to samo...

Test.png to nazwa, pod jaką ma się zapisać plik użytkownikowi, a test.png to plik, który jest na serwerze więc tu jest OK.

Hmm... fx4 + vista nie działa; chrome 10 na XP też się wykłada.
Czym generujesz obraz, GD czy imagemagick ?
Spróbuj z funkcjami GD: ImageTTFBBox() lub imagettfbbox_t()
oraz z generowaniem gifa zamiast png, bo benerowanie png bywa kłopotliwe.
Upewnij się że nagłówki generowanego pliku wynikowego są ok, bo GD jest bardzo wrażliwe na to.
Dariusz T.

Dariusz T. DariuszTryba.pl

Temat: Dlaczego obrazek się nie pobiera?

No właśnie obraz nie jest niczym generowany, po prostu zrobiłem go w Paincie i wrzuciłem na serwer :) Sam w sobie jest OK, psuje się jakoś przy przesyłaniu.
Robert Nodzewski

Robert Nodzewski Tworzenie serwisów
www oraz paneli do
zarządzania/raporto.
..

Temat: Dlaczego obrazek się nie pobiera?

Na początku obrazka są inne znaczki niż standardowo powinny być w pliku .png
Być może masz jakieś spacje na początku skryptu, może nową linię a może BOM.Robert Nodzewski edytował(a) ten post dnia 21.04.11 o godzinie 10:47
Robert Nodzewski

Robert Nodzewski Tworzenie serwisów
www oraz paneli do
zarządzania/raporto.
..

Temat: Dlaczego obrazek się nie pobiera?

Porównałem hexowo to co jest zwracane. I miałem rację - Twój skrypt, który zwraca obrazek, jest zapisany z BOMem. Także do Twojego obrazka dodawany jest jeszcze BOM stąd ci on nie działa. Musisz swój skrypt php zapisać bez BOM - pierwszy lepszy edytor to potrafi.
Dariusz T.

Dariusz T. DariuszTryba.pl

Temat: Dlaczego obrazek się nie pobiera?

Dzięki! pomogło :)

konto usunięte

Temat: Dlaczego obrazek się nie pobiera?

Cześć Dariusz ;)

Uwzględnij ten komentarz:
http://www.php.net/manual/en/function.header.php#99190
Dariusz T.

Dariusz T. DariuszTryba.pl

Temat: Dlaczego obrazek się nie pobiera?

Cześć :)

rzeczywiście zawsze trzeba robić takie dodatkowe warunki dla IE? (czy tylko dla jakiejś starej wersji tak było?)

Następna dyskusja:

dlaczego mi się nie chce




Wyślij zaproszenie do