隨着數據庫連接正常,當我嘗試下載文件時,我得到的內容是我正在處理的這個文件的一個php頁面。而不是上傳到數據庫的文件。這是爲什麼發生?從數據庫下載文件
$query = "SELECT id, name FROM docu";
$result = mysqli_query($con,$query) or die('Error, query failed');
if(mysqli_num_rows($result)==0){
echo "Database is empty <br>";
}
else{
while(list($id, $name) = mysqli_fetch_array($result)){
echo "<a href='download.php?id='$id>$name</a><br>";
}
}
if(isset($_GET['id'])){
$id = $_GET['id'];
$query = "SELECT id, name, type, size, content FROM docu WHERE id = '$id'";
$result = mysqli_query($con,$query) or die('Error, query failed');
list($id, $name, $type, $size, $content) = mysqli_fetch_row($result);
header("Content-Disposition: attachment; filename='$name'");
header("Content-type: $type");
header("Content-length: $size");
echo $content;
exit;
}
你不能有迴音和標題。另外,您的查詢可能失敗。 –
在打開PHP標記 (例如'<?php error_reporting(E_ALL);)後立即向文件頂部添加錯誤報告。 ini_set('display_errors',1);'然後你的代碼的其餘部分,看看它是否產生任何東西, 以及'或die(mysqli_error($ con))'到'mysqli_query()'。 –
你也用相同的變量查詢兩次。向我們展示數據庫模式和行內容。如果您的列不是BLOB,則文件必須存在於您的服務器上。 –