php通过加http响应头强制用户下载

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

php中可以通过设置header的content-type,强制用户下载内容,而非直接在浏览器中打开,如下代码实现:

downloadFile.php

<?php
$filename = $_GET['file']; //Get the fileid from the URL
// Query the file ID
$query = sprintf("SELECT * FROM tableName WHERE id = '%s'",mysql_real_escape_string($filename));
$sql = mysql_query($query);
if(mysql_num_rows($sql) > 0){
    $row = mysql_fetch_array($sql);
    // Set some headers
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename=".basename($row['FileName']).";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($row['FileName']));

    @readfile($row['FileName']);
    exit(0);
}else{
    header("Location: /");
    exit;
}
?>

files.php

<a href="downloadFile.php?file=7383">Download</a>

标签: isp Mysql 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:Android 拨打电话的代码

下一篇:PHP抓取网页代码示例