强制文件下载在PHP无法正常工作

时间:2016-04-06 23:43:51

标签: php file

我有这个脚本强制文件下载在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>

1 个答案:

答案 0 :(得分:0)

我认为您正在使用firefox或Google Chrome进行测试。你也试图下载pdf或txt文件。 在谷歌浏览器Adobe acrobot和firefox adobe reader中预装了插件。

因此与PHP代码无关。你的代码是正确的。 您可以通过在谷歌浏览器中禁用acrobot来测试它。为此,请访问chrome中的chrome:// plugins /。然后停用 Chrome PDF Viewer 。然后浏览下载链接。