BLOBs mit PHP aus MySQL lesen

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/blobs_mit_php_aus_mysql_lesen_149644/page_1 - zur Vollversion wechseln!


prayerslayer schrieb am 21.09.2005 um 08:44

grüße.

einmal mehr benötige ich den rat dieses allwissenden forums.
wie der titel schon sagt müsst ich mit php einen blob aus
einer mysql-datenbank rauslesen, hab aber kan plan wie des
gehn soll...

tia


watchout schrieb am 21.09.2005 um 13:12

select blob from blob_table;

?


dosen schrieb am 21.09.2005 um 14:20

wollt meine wissenslücke stopfen und hab nach blob gegoogelt -> http://www.spacefem.com/blobs/

was ist ein blob?


COLOSSUS schrieb am 21.09.2005 um 14:23

Binary Large OBject, afaik.


dosen schrieb am 21.09.2005 um 14:25

Zitat von COLOSSUS
Binary Large OBject, afaik.

thx, wenn man danach googlet gibts schon ordentlich mehr infos :)


prayerslayer schrieb am 22.09.2005 um 08:56

Zitat von watchout
select blob from blob_table;

?

das is das sql-statement, ja :)
ich konkretisier das ganze jetzt: ich hab ein bild als blob in
meiner mysql-datenbank. das möcht ich mittels php auslesen und
mit html anzeigen. wenn ich jetzt oben genanntes anwende kommt
irgenda schas raus weil html nix mit binärcode anfangen kann.

ich müsst aus dem binärzeugs irgendwie das bild als solches raus-
bekommen...?

--edit--
Code: PHP
  $query_pics="SELECT * FROM PICS";
  $result_pics=mysql_query($query_pics);
  $row_result_pics=mysql_fetch_assoc($result_pics);

und später

Code: PHP
  <img src="" alt="" border="0">
  <?php
    echo($row_result_pics['HEAD']);
  ?>

so funktionierts NICHT!


that schrieb am 22.09.2005 um 09:34

Zitat von prayerslayer
Code: PHP
  <img src="" alt="" border="0">
  <?php
    echo($row_result_pics['HEAD']);
  ?>

so funktionierts NICHT!

klar, das hat ja auch mit HTML nichts zu tun. Du musst das Bild mit einem eigenen Request abholen:

Code: PHP
  <img src="display_pic.php" alt="Bild" border="0">

Das display_pic.php muss nun das BLOB lesen und als image/jpeg (oder als was auch immer) zurückliefern.

Wie das genau funktioniert, kann ich dir nicht sagen, aber obiges ist mal sicher.


prayerslayer schrieb am 22.09.2005 um 10:29

kk, danke das hilft mir einmal weiter... wie weit kann ich
noch nicht sagen :)

//edit
wär aber schön wenn mir irgendwer den vollständigen code dafür
geben könnte weil anscheinend is die methode net besonders beliebt.
-> keine bzw. wenn dann unübersichtliche tuts im internet :(


cduke schrieb am 22.09.2005 um 13:15

In der display_pic.php holst Du das Bild aus der DB ab, schickst folgenden Header:

header ('Content-Type: image/jpeg');

und schreibst dann mit echo das gefetchte Bild raus:

echo $blob_img;

Wichtig: vor header darf keine andere Ausgabe sein - sonst bekommst Du nur ein broken image.

greetz cduke


prayerslayer schrieb am 22.09.2005 um 14:33

dann müsste der code so ausschaun:

Code: PHP
<?php

  include("connect.php");
  $query_pics="SELECT * FROM PICS";
  $result_pics=mysql_query($query_pics);
  $row_result_pics=mysql_fetch_assoc($result_pics);
  header ('Content-Type: image/jpeg');
  echo $row_result_pics['HEAD'];
?>

das geht aber nicht :( blablub ich checks net :bash:


cduke schrieb am 22.09.2005 um 14:43

Was passiert, wenn Du die Seite direkt aufrufst? Bekommst Du ein broken image angezeigt? Es darf kein Space, gar nix vor dem <?php sein. Auch in connect.php darf keinerlei Ausgabe erfolgen.

Ich nehme mal an, dass HEAD das blob-Feld ist, also das sollte passen, nachdem Du ja nur ein Element fetcht.


moidaschl schrieb am 22.09.2005 um 17:30

ich würd den header schicken bevor ich die connect.php include, probier das mal!

hth


DJ_Cyberdance schrieb am 22.09.2005 um 17:38

Hab mich auch schon mal damit auseinandergesetzt. Wenn Du irgendwie die Möglichkeit hast, mach folgendes: Dateinamen in die Datenbank schreiben und Bilddatei extra ablegen. Nicht nur, daß es einfacher geht in PHP, außerdem beeinflußen BLOBs die Datenbankperformance nicht gerade positiv. Würd ich nicht machen wenn sichs irgendwie vermeiden läßt.


cduke schrieb am 22.09.2005 um 17:55

Zitat von DJ_Cyberdance
Hab mich auch schon mal damit auseinandergesetzt. Wenn Du irgendwie die Möglichkeit hast, mach folgendes: Dateinamen in die Datenbank schreiben und Bilddatei extra ablegen. Nicht nur, daß es einfacher geht in PHP, außerdem beeinflußen BLOBs die Datenbankperformance nicht gerade positiv. Würd ich nicht machen wenn sichs irgendwie vermeiden läßt.
/signed


prayerslayer schrieb am 23.09.2005 um 10:10

ja ich weiß das man das mit bild-blobs net machen sollt wenn mans
vermeiden kann aber das ist leider meine aufgabenstellung :-/

ahja und mit nix vorher ausgeben is leider net möglich weil...
ich häng ein bild an, dann sehts es :)

der link oben is zum sprache wechseln, der is unbedingt nötig,
könnt ich zur not aber unten machen. hapern tuts bei der überschrift,
die kann ich net wirklich unters bild geben :-/ (könnten schon, aber
vom ästhetischen standpunkt aus net wirklich gut)

wenns keine andre lösung gibt werd ichs ganz normal mit pfad machen.
danke für die hilfe!




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026