0
我在SQL數據庫中保存的文件的內容LONGBLOB:如何使用PHP從SQL數據庫下載文件?
CREATE TABLE IF NOT EXISTS `upload` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(30) NOT NULL,
`type` varchar(30) NOT NULL,
`size` int(11) NOT NULL,
`content` longblob NOT NULL,
PRIMARY KEY (`id`) );
當我嘗試下載我得到的是內容寫的代碼。我想在點擊文件時創建「另存爲」選項。
這是我如何存儲數據:
$query = "INSERT INTO upload (name, size, type, content) ".
"VALUES ('$fileName', '$fileSize', '$fileType', '$content')";
這是我如何獲取數據:
if (isset($_GET['id'])) {
$con = mysql_connect('localhost', 'root', '') or die(mysql_error());
$db = mysql_select_db('test', $con);
$id = $_GET['id'];
$query = "SELECT name, type, size, content " . "FROM upload 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");
ob_clean();
flush();
echo $content;
mysql_close();
exit;
}
你的代碼應該可以正常工作(雖然我不確定你爲什麼要執行可能會中斷輸出的「flush」調用)。 「代碼正在返回」是什麼意思? – 2013-04-21 12:30:46