我有这个脚本强制文件下载在PHP但它无法正常工作。该文件仍在页面上打开。帮我弄清楚出了什么问题。
<?php
$orderid=sql_prep($_GET['oid']);
if(isset($_POST['file'])){
$file = $_POST['file'];
header("Content-Description: File Transfer");
header("Content-Transfer-Encoding: Binary");
header("Content-Type: application/octet-stream");
header('Content-Disposition: attachment; filename="'.basename($file).'"');
readfile('attachments/'.$orderid.'/user/'.$file);
}
?>
<form action="" method="POST" name="dwnld" >
<input name="file" value="<?php echo $file['filekey']; ?>" type="hidden">
<button type="submit"> <?php echo $file['filename']; ?> </button>
</form>
答案 0 :(得分:0)
我认为您正在使用firefox或Google Chrome进行测试。你也试图下载pdf或txt文件。 在谷歌浏览器Adobe acrobot和firefox adobe reader中预装了插件。
因此与PHP代码无关。你的代码是正确的。 您可以通过在谷歌浏览器中禁用acrobot来测试它。为此,请访问chrome中的chrome:// plugins /。然后停用 Chrome PDF Viewer 。然后浏览下载链接。