Datentyp in einer Schleife ändern

Claas M

Erfahrenes Mitglied
Hallo.

Ich trage meine Bilder trotz Nachteile als Binärdaten in eine Tabelle mit anderem Schnickschnack ein, was auch prima klappt.
Das Auslesen soweit auch aber anstatt das Bild anzuzeigen, wird es als Binärtext ausgegeben.

Wisst ihr, wie ich das 'On the Fly' umschalten kann? Alle Versionen mit header() klappen nicht.

Eintragen:
PHP:
<html>
<head><title>Store binary data into SQL Database</title></head>
<body>

<?php
include ("mysql.php");
include ("settings.php");

if ($submit) {

    $data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));

    $result=MYSQL_QUERY("INSERT INTO ".$bildertable_prefix.$bildertable_name." (description,bin_data,filename,filesize,filetype) ".
        "VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");

    $id= mysql_insert_id();
    print "<p>This file has the following Database ID: <b>$id</b>";

    MYSQL_CLOSE();

} else {
?>

    <form method="post" action="<?php echo $PHP_SELF; ?>" enctype="multipart/form-data">
    File Description:<br>
    <input type="text" name="form_description"  size="40">
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
    <br>File to upload/store in database:<br>
    <input type="file" name="form_data"  size="40">
    <p><input type="submit" name="submit" value="submit">
    </form>
<?php
}
?>
</body>
</html>

Auslesen:
PHP:
<?php
include("mysql.php");
include("settings.php");

$query = mysql_query("select * from ".$bildertable_prefix.$bildertable_name."");
while ($bild = mysql_fetch_array($query)) 
	{ 
	echo $bild['0'];
	echo $bild['1'];
	echo $bild['2'];
	echo $bild['3'];
	echo $bild['4'];
	echo $bild['5'];
	}
?>

Wäre echt toll, wenn mir einer von euch helfen könnte.
 
HTTP-Header können nur vor dem Senden jeglichen Inhaltes gesendet werden. Deshalb wirst du für jedes Bild eine eigene Ausgabe benötigen. Am besten legst du dir dazu ein Skript an, welches die entsprechenden Bilder einzeln widergibt.


Übrigens werden Datenbanken abgefragt, nicht ausgelesen.
 
Also die reihenfolge im echo ändern? weil dort ja erst text kommt, der auch anständig angezeigt wird.
 
Nein, da es sich um verschiedene Grafiken handelt, ist auch für jedes eine separate Generierung notwendig.
So könntest du also ein Skript schreiben, welches die Inhalte einer bestimmten Grafik aus der Datenbank abfragt und ausgibt.
 
Ich habe doch nur eine Grafik, die ich in die Tabelle reinschreibe. Naja ansonsten hätte ich eine andere aber umständlichere art das zu realisieren. Oder...könntest Du das irgendwie 'hindrechseln', wenn du die Tabellenstruktur und die Quellcodes hast?

Danke aber für deine Bemühungen.
 
Zurück