我上傳了多個文件進行培訓,並根據training_ID列出了它們。我如何下載與具有多個文件的training_id關聯的單個文件? 我有.txt,.pdf,.docx和.pptx文件類型。 這是我試過的PHP文件。PHP文件下載
<?php
$id= $_GET['id'];
$mysqli = new mysqli("localhost","root","pass","test");
if ($mysqli->connect_errno)
{
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$query = "SELECT Material_Name,Material_Data from Training_Material where Training_Id='{$id}'";
$result = $mysqli->query($query);
if($result)
{
$row = mysqli_fetch_assoc($result);
header("Content-Disposition: attachment; filename=". $row['Material_Name']);
echo $row['Material_Data'];
@mysqli_free_result($result);
}
else
{
echo "Error! Query failed: <pre>{$mysqli->error}</pre>";
}
?>
此文件沒有下載。
這裏DB中的Material_Data列包含使用file_get_contents方法得到的上傳文件的內容。我應該怎麼做才能使下載發生?
題外話,但如果你使用'mysqli'(這是一個非常好的事情),你應該使用事先準備好的聲明和變量綁定而不是將信息填充到SQL查詢中。對於下載的東西,嘗試添加'Content-Type:application/octet-stream'頭。 – Passerby