ich habe ein simples Formular zum Upload einer Datei erstellt:
Code:
<form enctype="multipart/form-data" action="store.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Send this file: <input name="file" type="file">
<input type="submit" value="Send File">
</form>
dann hab ich die datei store.php zum upload der datei in die Mysql-Datenbank geschrieben:
PHP-Code:
<?php
$file=$_FILES['file']['tmp_name'];
$file_name=addslashes($_FILES['file']['name']);
$file_size=$_FILES['file']['size'];
$file_type=addslashes($_FILES['file']['type']);
require ('datenbank_settings.php');
$data = addslashes(fread(fopen($file, "r"), filesize($file)));
$result="INSERT INTO upload (bin_data,filename,filesize,filetype) ".
"VALUES ('$data','$file_name','$file_size','$file_type')";
mysql_query($result, $verbindung);
$id= mysql_insert_id();
print "
Diese Datei hat folgende ID in der Datenbank: [b]$id[/b]";
mysql_close($verbindung);
?>
bin_date = LONGBLOB
filename,size,type = CHAR (50)
der Upload hat auch funktioniert!
als testbild ein 3,6 KB großes Bild wurde erfolgreich in phpmyadmin gefunden...auch die anderen informationen der datei sind erfolgreich eingefügt worden.
Mein Problem ist es nun das Bild aus der Datenbank zu holen und auch anzuzeigen...Da dies mein erster Versuch war

hab ich einfach folgendes angewendet:
PHP-Code:
<?php
require ('datenbank_settings.php');
$sql = "SELECT * FROM $tabelle";
$ergebnis = mysql_query($sql, $verbindung);
while($row = mysql_fetch_array($ergebnis))
{
echo $row['bin_data']."
";
echo $row['filename']."
";
echo $row['filesize']."
";
echo $row['filetype']."
";
}
mysql_close($verbindung);
?>
bestimmt absolut falsche methode und das ergebnis war auch dementsprechend

:
Code:
2!!22222222222222222222222222222222222222222222222222ÿÀ...usw.
also zu meiner frage:
gibt es eine methode ein bild aus einer mysql-datenbank auszulesen und dann korrekt anzuzeigen?
und wenn nicht?
ist es überhaupt "möglich" ein bild in einer mysql datenbank hochzuladen und dann auch wieder korrekt anzuzeigen?