PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   BLOB auslesen zu Jpeg-Bildern (http://www.selfphp.de/forum/showthread.php?t=24468)

php_newby 03.11.2011 12:50:26

BLOB auslesen zu Jpeg-Bildern
 
Hallo zusammen,

ich habe jetzt schon mehrere Stunden im Netz gesucht aber nicht wirklich etwas brauchbares finden können. (diverse Vorgehensweisen ja, aber weiß nicht genau, welches davon auf mein spezielles Problem zutreffend ist). Daher versuche ich hier eine Antwort zu bekommen, nach der ich konkret handeln kann. Es handelt sich um folgenden Sachverhalt:

Ich habe eine MySQL Datenbank, in der es eine Tabelle mit 800 BLOB-Einträgen gibt. Dahinter verbergen sich Bilder, die auf der Homepage angezeigt werden. Ich bräuchte nun diese 800 Bilder als Jpegs (bzw. .tif) auf meinem Rechner.
Meine Frage an euch: wie kriege ich aus diesen BLOB-Einträgen Einzelbilder im Jpeg-Format (bzw. .tif) hin? Gibt es da ein Patentrezept?

Vielen Dank schon mal!
Mt freundlichen Grüßen
php_newby

php_newby 09.11.2011 13:06:15

AW: BLOB auslesen zu Jpeg-Bildern
 
Frage ist immer noch offen, keiner eine Idee? :(

DokuLeseHemmung 09.11.2011 13:22:17

AW: BLOB auslesen zu Jpeg-Bildern
 
Wo ist dein Problem?

1. Content-type Header senden
2. Bild ausgeben

Fertig!

CPCoder 09.11.2011 16:13:03

AW: BLOB auslesen zu Jpeg-Bildern
 
Ich glaube eher er meinte damit, ob es eine Möglichkeit gibt die Bilder aus den Blobfeldern aus zu lesen und als Jpeg auf die Festplatte zu speichern. Bei 800 Bildern jedes Bild einzeln mittels "Rechtsklick > speichern unter" denk ich mal ist man paar Stunden beschäftigt *gg*

@php_newby:
Dein Stichwort lautet: file_put_contents()

Dieser Funktion kannst du den Inhalt deines Blob-Feldes übergeben und es somit wieder als reguläres Jpeg-Bild auf der Platte speichern lassen. Hierzu lässt diese Funktion für jedes Bild in deiner Datenbank in einer Schleife durchlaufen.

meikel (†) 09.11.2011 21:39:13

AW: BLOB auslesen zu Jpeg-Bildern
 
Zitat:

Zitat von DokuLeseHemmung (Beitrag 142412)
Wo ist dein Problem?

Er sucht einen, der ihm das Script tippert.

knight1 09.11.2011 22:21:09

AW: BLOB auslesen zu Jpeg-Bildern
 
Zitat:

Zitat von php_newby (Beitrag 142383)
... Gibt es da ein Patentrezept? ...

Die Bilder grundsätzlich NICHT in der Datenbank zu speichern und diese dadurch zu "überladen", sondern auf dem Webspace/der Festplatte und dann nur den Namen der Datei in die DB rein.

Dateien gehören nicht in die Datenbank sondern auf den Webspace/die Festplatte. Das verursacht in den meisten Fällen nur Probleme wenn diese in der DB gespeichert werden, und das unabhängig vom DBMS.



Kai aka Knight1

php_newby 18.11.2011 12:31:32

AW: BLOB auslesen zu Jpeg-Bildern
 
Hallo zusammen,

erst mal vielen Dank für die konstruktiven Antworten! CPCoder, dein Tipp auf file_put_contents war sehr gut!
Es hat funktioniert und ich konnte letztlich alle relevanten BLOB-Dateien in schöne JPG-Bilder umwandeln! Hier mein PHP-Script, vielleicht hilft es mal jemandem, der vor einem ähnlichen Problem steht:

PHP-Code:

<?php
//parse_str{$_Server['QUERY_STRING']};
$dblink=mysql_connect("localhost""*****""*****") or die("Login fehlgeschlagen.");
mysql_select_db("*****") or die("Datenbank nicht gefunden");

//   $mysqli
   
$sql="SELECT * FROM tab_images";
   
$recordset=mysql_query($sql);
   
$trefferzeile=mysql_fetch_assoc($recordset);
   while(
$trefferzeile=mysql_fetch_assoc($recordset)){
   
$Filenamestr =$trefferzeile['id'].".jpg";
   if (!empty(
$trefferzeile['image'])) {
    
$Blob=gzinflate($trefferzeile['image']);
 
   
        
file_put_contents($Filenamestr,$Blob);
       echo 
"<pre>";
    
print_r($Filenamestr);
    echo 
"</pre>";
    }
   }
  
?>

$Blob=gzinflate($trefferzeile['image']);
das war wichtig, um die Dateien zu 'entpacken' und den Inhalt freizusetzen.


@knight1: Ja das ist mir schon klar... ich habe diese Datenbank nicht selbst erstellt sondern von meinem Vorgänger "geerbt"..

meikel (†) 19.11.2011 20:49:20

AW: BLOB auslesen zu Jpeg-Bildern
 
Zitat:

Zitat von php_newby (Beitrag 142443)
Hier mein PHP-Script, vielleicht hilft es mal jemandem, der vor einem ähnlichen Problem steht:

Viel Text, um SELECT bild INTO OUTFILE '/pfad/bild.jpg' FROM tabelle WHERE dies=das nachzubasteln.

php_newby 20.11.2011 18:15:47

AW: BLOB auslesen zu Jpeg-Bildern
 
Sehr freundlich wie man hier teilweise mit PHP-Neulingen umgeht...

knight1 20.11.2011 18:22:23

AW: BLOB auslesen zu Jpeg-Bildern
 
Zitat:

Zitat von php_newby (Beitrag 142462)
Sehr freundlich wie man hier teilweise mit PHP-Neulingen umgeht...

Wenn man jetzt noch wüsste wen Du mit diesem Satz meinst, könnte der-/diejenige auch drauf Antworten.


Kai aka Knight1


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:15:59 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.