Christian030783
Mitglied
Hallo Zusammen!
Habe ein Problem mit meinem Downloadskript. Ausgangssituation:
In einer MySQL Datenbank befinden sich Word-Dokumente im XML-Format (WordProcessing ML). Diese sind in der Datenbank als BLOB gespeichert. Über das Download-Skript in PHP sollen diese Dateien nun heruntergeladen werden können.
Der Download funkioniert, jedoch wird in die Datei am Anfang ein Leerzeichen eingefügt, so dass diese mit
statt mit
beginnt. Word kann die Datei so nicht öffnen. Weiß jemand wie ich das Leerzeichen weg bekomme? Mit
erhalte ich
Das Leerzeichen muss also schon vorher ausgegeben werden. Ich bin für jede Hilfe dankbar!
Habe ein Problem mit meinem Downloadskript. Ausgangssituation:
In einer MySQL Datenbank befinden sich Word-Dokumente im XML-Format (WordProcessing ML). Diese sind in der Datenbank als BLOB gespeichert. Über das Download-Skript in PHP sollen diese Dateien nun heruntergeladen werden können.
PHP:
<?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: formular.php");
}
$id = $_GET['id'];
$db = new mysqli($db_host, $db_user, $db_pass, $db_db);
if(mysqli_connect_errno() == 0)
{
$sql = 'SELECT '.$blob.' FROM dokumente WHERE id = ?';
$stmt = $db->prepare($sql);
$stmt->bind_param("i",$id);
$stmt->execute();
if($stmt->bind_result($doc))
{
$stmt->fetch();
//Dateityp
header( 'Content-type: application/octet-stream' );
// Größe der Datei
header( 'Content-Length: ' . strlen( $doc ) );
//Dateiname
header("Content-Disposition: attachment; filename=$filename");
// Ausgeben der Datei
echo $doc;
}
else
{
die("Fehler in bind_result!");
}
}
else
{
die("Fehler: Es konnte keine Verbindung zur Datenbank aufgebaut werden!");
}
?>
Der Download funkioniert, jedoch wird in die Datei am Anfang ein Leerzeichen eingefügt, so dass diese mit
Code:
<xml version="1.0">
Code:
<xml version="1.0">
PHP:
echo substr($doc, 1);
Code:
xml version="1.0">