. .
pragmaMx Support Forum 24 Mai 2012, 12:17:26 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: Probleme beim Speichern und Abrufen von Datenbank-Bildern  (Gelesen 2446 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
MikePapa
weiss was
***
Offline Offline

Beiträge: 176

MikePapa


WWW
« am: 30 Oktober 2004, 14:01:26 »

Hallo,

trotz intensiver Suche im Internet und in diesem Forum habe ich leider noch keinen funktionierenden Lösungsansatz für folgendes Vorhaben gefunden:

Ich möchte eine Dienstgradübersicht mehrer Nationen erstellen. Hierzu habe ich nun einige hundert kleinere gif-Bilder, welche ich aber nicht auf den Server spielen, sondern in die DB integrieren möchte.

In der DB habe ich bereits die Grunddaten (Bezeichnung, Kategorie etc.) abgelegt.
Erweitert habe ich den entsprechenden Table mit den Feldern format (tinyblob) und bild (blob).

Nachfolgend ein Ausschnitt der Datei, mit welcher ich nachträglich die o.g. Bilder in die Datenbank speichere (speichern möchte):

Code: [Select]  
        $result = sql_query("select id, land, tsk, gruppe from nuke_milranks WHERE land='Frankreich'");
        while(list($id, $land, $tsk, $gruppe) = sql_fetch_row($result)) {

        $dstgrad_pic = "modules/MilRanks/$land/$tsk/$gruppe.gif";   '### hier habe ich die Bilder vorläufig abgelegt, da sie von der lokalen FP nicht akzeptiert wurden
$size=@getimagesize($dstgrad_pic);
$format="$size[0]:$size[1]:1:$dstgrad_pic:xx";

                        $srcfilesize=filesize($dstgrad_pic);
                        $data = addslashes(fread(fopen($dstgrad_pic, "rb"), $srcfilesize*2));

              $aktualisieren ="update nuke_milranks set format='".$format."', bild='".$data."' where id='".$id."';";
         $result2 = sql_query($aktualisieren);

Ob dieses Verfahren richtig ist, kann ich leider nicht prüfen, da ich an der Ausgabe der Bilder bisher kläglich gescheitert bin. Sad

Ich habe mir parallel das Modul WEBRING angeschaut, komme aber leider immer noch zu keinem annähernd positivem Ergebnis.

Wäre mehr als toll, wenn mir jemand hier weiterhelfen könnte!  Wink

Gruß

"MikePapa"
Gespeichert
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.423

Andi


WWW
« Antworten #1 am: 30 Oktober 2004, 14:48:15 »

Hi MikePapa Wink

auf den ersten Blick sieht das eigentlich ok aus.

Kommen Fehlermeldungen wenn der debug-Modus an ist?
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
MikePapa
weiss was
***
Offline Offline

Beiträge: 176

MikePapa


WWW
« Antworten #2 am: 30 Oktober 2004, 14:52:42 »

Hallo Tora,

nein, es scheint auf den ersten Blick so, daß die Speicherroutine in Ordnung ist.
Es erscheint keine Fehlermeldung und die DB wird anscheinend befüllt Wink

Nur schaffe ich es leider nicht, die Daten wieder korrekt auszulesen...
Bei der Ausgabe erhalte ich nicht das Bild sondern lediglich den Binärcode. Die Vorgehensweise zur Umwandlung des Codes in ein Bild habe ich bisher nicht hinbekommen und habe leider auch nicht annähernd einen Schimmer, wie ich hier vorgehen muß.

Gruß

"MikePapa"

Gespeichert
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.423

Andi


WWW
« Antworten #3 am: 30 Oktober 2004, 15:01:06 »

uuups, wer lesen kann ist klar im Vorteil....
Sorry, dachte es hängt am Speichern...

hehehe, da muss ich erst mal selbst wieder im Webring nachschauen wie das geht Wink
melde mich wieder...
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.423

Andi


WWW
« Antworten #4 am: 30 Oktober 2004, 15:09:03 »

Oki, es dämmert.

den passenden Code findest du in der Webringdatei "getlogo.php".
Der Knackpunkt dabei ist das senden des Headers mit dem passenden Mime-Type.

Den If-Zweig in dieser Datei nicht beachten.
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
MikePapa
weiss was
***
Offline Offline

Beiträge: 176

MikePapa


WWW
« Antworten #5 am: 30 Oktober 2004, 15:31:53 »

Ich habe jetzt mal mit dem von Dir genannten Teil gezielt einen Datensatz ausgelesen .... und siehe da: es funktioniert!! Smiley  thumbup

Ich habe diesmal nur diesen Codeschnippsel genutzt und den Rest des neuen Modules rausgeschmissen. Zuvor bekam ich immer die Meldung, daß die modules.php gespeichert oder geöffnet werden soll...
Der Grund hierfür war offensichtlich die noch nicht vorhandene language-Datei, die mit der obligatorischen Zeile
Code: [Select]  
mxGetLangfile($module_name);
abgerufen werden sollte. Hier bin ich fälschlicherweise davon ausgegangen, daß lediglich der entsprechende Warnhinweis erfolgt, nicht jedoch, daß dies zum besagten "Download"-Fenster führt.

Nunja, nun bin ich wieder ein wenig schlauer Wink

Vielen Dank für Deine Hilfe, Tora!

Gruß

"MikePapa"


 
Gespeichert
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.423

Andi


WWW
« Antworten #6 am: 30 Oktober 2004, 15:44:25 »

Supppi  thumbup

Zitat
Zuvor bekam ich immer die Meldung, daß die modules.php gespeichert oder geöffnet werden soll
Glaube aber eher, dass da dann die header-Anweisung nicht richtig war oder fehlte, oder?
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
MikePapa
weiss was
***
Offline Offline

Beiträge: 176

MikePapa


WWW
« Antworten #7 am: 30 Oktober 2004, 16:02:42 »

Mhhh....das hättest Du vielleicht nicht schreiben sollen, Tora *g*

Hab die Datei nun mit Header- und Footer-Aufruf versehen.... jetzt erscheint nicht mehr das Bild, sondern
Code: [Select]  
GIF89a(N#˜‚3@†)�<h0•�-hƒ/


Die Datei hat nun übrigens folgenden Inhalt:
Code: [Select]  
<?php

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");
$module_name basename(dirname(__FILE__));
mxGetLangfile($module_name);
$index 1;

include(
"header.php");

$query "select bild,format from nuke_milranks where id='95'";
$result = @SQL_QUERY($query,$dbi);
if($result){
list($bild,$format)=sql_fetch_row($result,$dbi);
if ($bild && $format){
$prefs=@explode(":",$format);
$type=$prefs[4];
header("Content-type: $type");
#echo stripslashes($bild);
echo $bild;
exit;
}
}

include(
"footer.php");

?>


OK, der 1. Schritt funktioniert ja nun (das Aufrufen des Bildes aus der DB), nun fehlt "nur" noch die Integration ins vkp Wink

Hast Du eine Idee oder siehst Du den Fehler, den ich so hartnäckig übersehe??

Gruß

"MikePapa"
Gespeichert
Andi
Administrator
******
Offline Offline

Geschlecht: Männlich
Beiträge: 19.423

Andi


WWW
« Antworten #8 am: 30 Oktober 2004, 16:27:29 »

hehehe, hast nen kleinen Denkfehler drin.

Die Ausgabe dieser Datei ist kein HTML-Quelltext, sondern das eigentliche Bild.
Um es anzuzeigen musst due es ganz normal per imagetag anzeigen:

<img src="modules.php?name=modulname&file=dieneuedatei&id=333">
Gespeichert

schön´s Grüssle, Andi
Kein Support über PN, Mail oder ICQ!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!
MikePapa
weiss was
***
Offline Offline

Beiträge: 176

MikePapa


WWW
« Antworten #9 am: 30 Oktober 2004, 16:29:34 »

Ohne es sofort umzusetzen: ja, ich habe den leichten Schlag auf den Hinterkopf bemerkt Smiley

Danke, Tora.
Gespeichert
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML