Hallo!
Ich lade mittels einem Formular Daten in eine Datenbank hoch. Der Dateiname, Dateigroesse wird eingespeichert nur der inhalt bleibt bei 0 Byte
hierzo habe ich folgendes geschrieben
Das Formular:
Die verarbeitenden Zeilen
Wenn ich mir dann das Ergebniss in phpMYadmin anschau stellt sih besipeilsweise folgendes Bild dar
Was läuft da falsch?
gruß niesel
Ich lade mittels einem Formular Daten in eine Datenbank hoch. Der Dateiname, Dateigroesse wird eingespeichert nur der inhalt bleibt bei 0 Byte
hierzo habe ich folgendes geschrieben
Das Formular:
PHP-Code:
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" enctype="multipart/form-data" >
<fieldset><legend>Dateiupload</legend>
<p><label for="file">Datei</label>
<input type="file" name="file"/></p>
<p>Wichtig! Es ist ein Auswahl zu treffen um welche Art von Dokument es sich handelt</p>
<p>
<label for="medkind">Animation</label>
<input type ="radio" name="medkind" id="anim" value="anim"/>
<label for="medkind">Anleitung</label>
<input type ="radio" name="medkind" id="doc" value="doc"/>
</p>
<p>
<input type="submit" name="submit" value="Datei speichern" />
</p>
</fieldset>
</form>
PHP-Code:
if($data_send) {
$db = @new mysqli( HOST, USER, PASSWORD, DATABASE );
if(!$medkind) {
$error= "<div>";
$error .= "<span style=\"color:red;font-size: 14px; font-family:arial;font-style:bold\"><p><b>Bitte angeben ob es sich um eine animation oder eine Anleitung handelt</b></p></span>";
$error .= "</div>";
echo $error;
}else {
if ($_FILES['file']['name'] && $_FILES['file']['name'] != "none") {
echo "medkind files=$medkind<br/>";
$datas = addslashes(fread(fopen($_FILES['file']['tmp_name'], "rb"), filesize($_FILES['file']['tmp_name'])));
#echo $datas;
if ($medkind=="anim") {
$sql = 'INSERT INTO `Animation` (`Dokumentname`, `Daten`, `Dateigroesse`, `ZID`)';
$sql .='VALUES(?,?,?,?)';
$eintrag = $db->prepare($sql);
$eintrag->bind_param('sbii', $_FILES['file']['name'],$datas,$_FILES['file']['size'],$zid);
$eintrag->execute();
if ($eintrag->affected_rows == 1) {
echo "erfolgreich";
}
else {
echo "Fehler=".$db->mysqli_error;
}
}else {.... andere Variante falls es keine Animation ist
Code:
DID Dokumentname Daten Dateigroesse ZID 6 dokuhinakt.tex [BLOB - 0Bytes] 201 15
gruß niesel
Kommentar