Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: obrazek i tekst z bazy w pliku
Forum PHP.pl > Forum > PHP
koskitos
mam obrazek w bazie. W jednym pliku chce wyswietlic tekst, potem obrazek z bazy i z nowu jakis tekst.

Obrazek jestem w stanie wyswietlic (wyswietlam go). Ale jezeli przed obrazkiem wyswietle jakis tekst to sie psuje.

kod wyglada mniej wiecej tak - w skrocie:
  1. <?php
  2.  
  3. echo 'tekst';
  4. // kod generujacy obrazek
  5. header('Content-type: image/gif');
  6. imagegif($im);
  7.  
  8. imagedestroy($im);
  9.  
  10. echo 'tekst';
  11. ?>


Wydaje mi sie, ze trzeba cos pokombinowac z headerem, ale nie wiem co. sadsmiley02.gif
dtb
  1. <?php
  2. echo 'tekst';
  3. echo '<img src="image.php?im='.$im.'"/>';
  4. echo 'tekst';
  5. ?>


image.php

  1. <?php
  2. header('Content-type: image/gif');
  3. imagegif($im);
  4. imagedestroy($im);
  5. ?>
koskitos
Cytat(koskitos @ 2005-12-10 15:33:26)
W jednym pliku chce wyswietlic tekst, potem obrazek z bazy i z nowu jakis tekst.

z pewnych powodow chce tak zrobic, bo obrazek nie zawsze jest taki sam, musialbym wtedy przesylac getem dane, a tego nie chce.

W JEDNYM PLIKU, czekam na odp
mike
Metoda podana przez @dtb jest najlepsza, ale jak chcesz koniecznie w jednym (z lenistwa chyba), to:
Output Control Functions (zapoznaj się z tym działem, sa tam wszystkie potrzebne narzędzia i przykłady)

Cytat
(...) czekam na odp (...)
Nie czekaj tylko też tyłek rusz i poszukaj odpowiedzi tongue.gif
koskitos
1. nie z lenistwa
2. dzieki, ale wczesniej szukalem i nic nie znalazlem
teraz juz wiem, a inni to tylko odslylaja gdzie indziej, chociaz sami nie wiedza o co chodzi
dtb
Jeden plik:

  1. <?php
  2. if (empty($_SESSION['im']))
  3. {
  4. echo 'tekst';
  5. $_SESSION['im'] = 'OBRAZEK';
  6. echo '<img src="index.php"/>';
  7. echo 'tekst';
  8. }
  9. else
  10. {
  11. header('Content-type: image/gif');
  12. imagegif($_SESSION['im']);
  13. imagedestroy($_SESSION['im']);
  14. $_SESSION['im'] = NULL;
  15. }
  16. ?>
koskitos
ok, z tym juz sobie poradzilem,

ale jak wrzucic plik obrazka do bazy. pole w bazie mam typu blob.

robie to tak:

  1. <?php
  2. $plik = 'sth.gif';
  3.  
  4. $fp = fopen($plik, 'r');
  5. $obrazek = fread($fp, filesize($plik));
  6. fclose($fp);
  7.  
  8. $zapytanie = 'INSERT INTO tabela VALUES(null, '.$obrazek.')';
  9. $wynik = mysql_query($zapytanie);
  10. ?>


I wywala mi blad, ze: Fatal error: Błąd MySQL. Nr błędu: 1064. Treść błędu: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '�' at line ...

Wychodzi na to, ze zapytanie jest źle skonstruowane (znaki obrazka motaja). Ale jak inaczej to zrobic?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.