アップロード/ダウンロード プロセスに問題があります。ファイルは BLOB として mysql に挿入されますが、ダウンロードすると、呼び出し元の php ページの html マークアップが取得されます。データベースに挿入する前に、アップロードしたファイルを一時ディレクトリに移動する必要がありますか?
編集: 現在の upload.php ファイル。実際のファイル自体ではなく、まだhtmlコンテンツを取得していますが、正しく名前が付けられています。
<?php
// Make sure an ID was passed DOWNLOAD HANDLER *******
if(isset($_GET['id'])) {
// Get the ID
$id = intval($_GET['id']); var_dump($id);
require_once ('../mysqli_connect.php'); //Connect to the db
// Fetch the file information
$downloadq = "
SELECT `file_type`, `size`, `title`, 'content', 'upload_id'
FROM `upload`
WHERE `upload_id` =".$id;
$result = mysqli_query ($dbc, $downloadq); // Run the query
if($result) {
// Make sure the result is valid
if (mysqli_num_rows($result) > 0) {
// Get the row
$row = mysqli_fetch_assoc($result);
//var_dump($row);
// Print headers
header("Content-Type: application/msword");
header("Content-Length: ". $row['size']);
header("Content-Disposition: attachment; filename=". $row['title']);
header("Content-Transfer-Encoding: binary");
// Print data
echo (stripslashes($row['content']));
}
else {
echo 'Error! No such ID.';
}
// Free the mysqli resources
mysqli_free_result($result);
}
else {
echo "Error! Query failed: <pre>{$dbc->error}</pre>";
}
mysqli_close($dbc);
}
?>