Hallo, ich habe mich jetzt mal mit PHP beschäftigt und stehe derzeit beim upload von Daten in eine MSQL Datenbank an.
Da ich ein Projekt vorhabe, wo mehrere Websites auf eine MSQL-Datenbank zugreifen, muss die Datei in eine Datenbank.
Upload befehl
Befehl zum AuslesenPHP-Code:$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fileName = addslashes($fileName);
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = mysql_escape_string($content);
fclose($fp);
mysqlconnect();
$id = $_SESSION["artikelid"];
$query = "INSERT INTO DATEIEN (artikelnr, name, size, type, content, bezeichnung) ".
"VALUES ('$id', '$fileName', '$fileSize', '$fileType', '$content', '$_POST[form_bezeichnung]')";
mysql_query($query) or die('Error, query failed');
}
?>
Was mach ich falsch, dass jedesmal die Meldung kommt, Fehler bei der Decodierung --> z.B.: bei einer PDF Datei?PHP-Code:mysqlconnect();
$id = $_GET['id'];
$query = "SELECT name, type, size, content FROM DATEIEN WHERE id = '$id'";
$result = mysql_query($query) or die('Error, query failed');
list($name, $type, $size, $content) = mysql_fetch_array($result);
header("Content-length: $size");
header("Content-type: $type");
header("Content-Disposition: attachment; filename=$name");
header("Content-Transfer-Encoding: binary");
$inhalt = mysql_real_escape_string($content);
echo $inhalt;
}
Der Uplaod funktioniert, ... ich bekomme zum Beispiel folgende Werte bei einer PDF Datei in der Datenbank
Code:%PDF-1.4 %âãÏÓ 6 0 obj <</Linearized 1/L 15521/O"
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)