Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Header content type
Mapcio
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.02.2011

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


Witajcie, zacznę od tego, że wygóglowałem już sprawę, ale nikt jeszcze chyba takiego problemu nie miał.
Mój problem przedstawia się następująco: Zrobiłem sobie skrypt który wyciąga zdjęcia zapisane w bazie danych(tak, tak, wiem, w bazie nie trzyma się zdjęć, ale moje są małe(128x128) i do tego będzie ich mało). Na localhoscie pięknie mi śmigał, teraz przenoszę się w sieć i pojawił się problem (IMG:style_emoticons/default/sad.gif) .
Skrypt pobiera z bazy treść obrazka, sprawdzałem to, pojawia się setki dziwnych znaków. Jednak gdy wpisze
  1. header("Content-type: image/jpg;");

na początku skryptu, by treść wyświetliła się jako obrazek, otrzymuję pustą stronę.
Czyżby mój serwer nie obsługiwał wyżej wymienionej funkcji?
H4LP M3 PL0X

@edit
Jak by co to daje kod:
  1. <?php
  2. header("Content-type: image/jpg;");
  3.  
  4. include('config.php');
  5. class read
  6. {
  7. function __construct()
  8. {
  9. global $config;
  10. $this->config = $config;
  11. $this->id = intval($_GET['id']);
  12. }
  13. function databaseconnect()
  14. {
  15. mysql_connect($this->config['db_host'], $this->config['db_user'], $this->config['db_pass'])or die(mysql_error());
  16. mysql_select_db($this->config['db_name']);
  17. }
  18. function db_read()
  19. {
  20. $this->databaseconnect();
  21. $this->result = mysql_query('SELECT zdjecie FROM zdjecia WHERE id="'.$this->id.'"');
  22. if (mysql_num_rows($this->result) != 0)
  23. {
  24. $this->row = mysql_fetch_assoc($this->result);
  25. return base64_decode($this->row['zdjecie']);
  26. }
  27.  
  28. }
  29. }
  30. $read = new read();
  31. echo $read->db_read();
  32. ?>


Ten post edytował Mapcio 25.06.2011, 20:10:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


notatnik windowsowy zawsze na początku dodaje niewidoczne znaki nazywane BOM

jeśli chcesz korzystać z czegoś podobnego do notatnika ale lepszego to zainstaluj sobie notepad++ i zapisuj pliki w kodowaniu utf bez BOM
swoją droga polecam IDE Netbeans - ale to kobyła...

BOM to niewidoczne znaczki znajdujące się na poczatku pliku - windowsowe serwery go zazwyczaj lub zawsze pomijają - linuxowe wysyłają tą treść...

po więcej w google hasło php bom

ps taka mała uwaga - jesli już prubujesz pisać obiektow to zrezygnuj z globali - połowicznym rozwiązaniem są zmienne statyczne ale też raczej ich unikaj - jednak na początek lepiej satyczne niż globale... więc $config albo przekaż jako parametr konstruktora albo przypisz przed wywołaniem klasy do zmiennej statycznej... z kolei id które pobierasz w get przekaż jako parametr konstruktora a nie tak jak robisz...

Ten post edytował zegarek84 25.06.2011, 21:00:29
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 00:54