Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wyśwetlanie obrazków w przeglądarce - dlaczego ?, Nie wyśwetla....
jastu
post
Post #1





Grupa: Zarejestrowani
Postów: 382
Pomógł: 0
Dołączył: 29.11.2005
Skąd: :jestem();

Ostrzeżenie: (0%)
-----


Witam,
kod poniżej :

  1. <?php
  2. $this->db->select("p_image_name, p_image_type, p_image_size, p_image_image ")->where('id_p',$this->id_p);
  3.  
  4. $result = $this->db->get('dnm_t_products');
  5.  
  6. if($result->num_rows() == 0)
  7. {
  8. throw new eProduct();
  9. }
  10.  
  11. $row = $result->row();
  12.  
  13. $rozmiar = $row->p_image_size;
  14. $typ = $row->p_image_type;
  15. $nazwa = $row->p_image_name;
  16. $plik = $row->p_image_image;
  17.  
  18. header("Content-type: $typ");
  19.  
  20.  // okno Otwórz / Zapisz (działa ok - plik zapisuję się i otwiera prawidłowo) 
  21.  //header("Content-Disposition: attachment; filename=$nazwa");
  22.  
  23. // ten nagłówek nie działa 
  24. header("Content-Disposition: inline; filename=$nazwa");
  25. print($plik);
  26. exit();
  27. ?>


Nagłówki

Kod
  
   GET /sites/serwis/index.php/product/thumb/1 HTTP/1.1
   Host: local2
   User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; pl; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
   Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
   Accept-Language: pl,en-us;q=0.7,en;q=0.3
   Accept-Encoding: gzip,deflate
   Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
   Keep-Alive: 300
   Connection: keep-alive
   Cookie: PHPSESSID=f983c3312763ee95119c3f8b9acede99
  
   HTTP/1.x 200 OK
   Date: Mon, 28 Jan 2008 09:56:44 GMT
   Server: Apache/1.3.34 (Win32)
   Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
   content-disposition: inline; filename=5fd34fefd532d3cff20049740ba67ae4.jpg
   Expires: Thu, 19 Nov 1981 08:52:00 GMT
   Pragma: no-cache
   X-Powered-By: PHP/5.2.3
   Keep-Alive: timeout=15, max=99
   Connection: Keep-Alive
   Transfer-Encoding: chunked
   Content-Type: image/jpeg


Jeśli zmienię nagłówek na header("Content-Disposition: attachment; filename=$nazwa"); to wszystko działa poprwanie, mam natomiast problem z wyświetleniem obrazka w przegladarce.

Próbowłem też z base64_encode() / base64_decode() ale efekt ten sam (czym nie byłem zaskoczony)

Gdzie szukać błędu ?

Czy kolejność nagłówków ma znaczenie ? (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)



Jak sprawdzić czy coś jeszcze nie leci do przegladarki ? Jeśli zmiana nagłówka powoduje prawidłowe otwarcie pliku to znaczy że wysyłana jest tylko zawartość pliku. Więc co jest nie tak - dostaje komunikat że obrazek nie może być wyświetlony bo zawiera błędy ?


Leniuchy ! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) rozwiązałem to wstawiając przed nagłówkami i wysłaniem pliku ob_clean();

Ten post edytował jastu 28.01.2008, 14:29:47
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 17:14