头像

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

2018-04-06 14:22:03 来源:PHP代码   浏览()   评论 ( 0 )   

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=1027">Download</a>


标签: php
声明:转载请注明来源(PHP代码)并保留原文链接:http://www.phpdaima.com//wenzhang-40.html
广告不存在
评论0

后面还有条评论,点击查看>>

温馨提示:为规范评论内容,垃圾评论一律封号...