Hallo,
ich habe ein Problem mit dem Bilderupload in eine MySQL-DB.
Ich weiss, dass sollte man nicht machen, aber ich wills mal so versuchen.
Ich habe eine Tabelle angelegt, die die Mitarbeiterdaten beherbergt.
Dort hinein hab ich auch die Spalte "bild" als LONGBLOB geschrieben.
Ich habe auch ein Script, welches die Mitarbeiterdaten updaten kann, aber ich bekomme es nicht so richtig hin, den Upload zu realisieren. Auch das TUT auf www.phpbuilder.com hat mir nicht richtig weitergeholfen.
Probiere es mal mit diesem Beispiel:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Daten in DB schreiben</title>
<meta name="Author" content="Dr. Thomas Meinike">
<link rev="made" href="mailto:thomas@handmadecode.de">
</head>
<body>
<?php
$action=$HTTP_POST_VARS["action"];
if($action=="indb")
{
$dbref=mysql_connect("localhost", "...", "...");
mysql_select_db("test",$dbref) or die(mysql_errno() .": ". mysql_error());
if(isset($datei) && $datei!="none" && is_uploaded_file($datei))
{
$inhalt=addslashes(fread(fopen($datei,"r"),filesize($datei)));
$dname=$HTTP_POST_FILES["datei"]["name"];
$dgroesse=$HTTP_POST_FILES["datei"]["size"];
$dtyp=$HTTP_POST_FILES["datei"]["type"];
$abfrage="INSERT INTO bin (daten,dname,dgroesse,dtyp) VALUES ('$inhalt','$dname','$dgroesse','$dtyp')"; // Feld daten = LONGBLOB, alle weiteren VARCHAR
$ergebnis=mysql_query($abfrage,$dbref);
if($ergebnis==1)
{
print "<b>Die Datei wurde in die DB übernommen:</b><br><br>\n";
print "<i>Ausgabe über $HTTP_POST_FILES["datei"]["..."]</i><br>\n";
print "Dateiname: ".$HTTP_POST_FILES["datei"]["name"]."<br>\n";
print "Dateigröße: ".$HTTP_POST_FILES["datei"]["size"]." Bytes<br>\n";
print "Dateityp: ".$HTTP_POST_FILES["datei"]["type"]."<br><br>\n";
print "<i>Ausgabe über $datei_...</i><br>\n";
print "Dateiname: $datei_name<br>\n";
print "Dateigröße: $datei_size Bytes<br>\n";
print "Dateityp: $datei_type<br>\n";
}
else
{
print "<b>Die Daten konnten nicht in die DB übernommen werden.</b>\n";
}
mysql_close();
}
}
else
{
?>
<form action="<?=$PHP_SELF;?>" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
<input type="hidden" name="action" value="indb">
<input type="file" maxlength="100000" size="30" name="datei"><br>
<input type="submit" value="In DB schreiben">
</form>
<?php
}
?>
</body>
</html>
MfG, Thomas