PHP下载文件(隐藏真实的下载地址)

php中文网
发布: 2016-06-20 12:49:30
原创
1531人浏览过

        

有时我们需要隐藏真实的文件下载地址,防止恶意下载,我们可以采用下面的方法(参考网络,侵权请告知)


以下为引用的内容:

$file_name = "example.exe";

立即学习PHP免费学习笔记(深入)”;

$file_dir = "/public/www/download/";

if (!file_exists($file_dir . $file_name)) { //检查文件是否存在

        echo "文件未找到";

        exit; 

} else {

        $file = fopen($file_dir . $file_name,"r"); // 打开文件 

        // 输入文件标签

        Header("Content-type: application/octet-stream");

        Header("Accept-Ranges: bytes");

        Header("Accept-Length: ".filesize($file_dir . $file_name));

        Header("Content-Disposition: attachment; filename=" . $file_name);

        // 输出文件内容

        echo fread($file,filesize($file_dir . $file_name));

        fclose($file);

        exit;

}

牛NIUCMS本地O2O系统
牛NIUCMS本地O2O系统

牛NIUCMS本地O2O系统是一个以php+mysql进行开发的o2o网站系统。NIUCMS是一款强大的网站管理系统。支持智慧城市、智慧小区、智慧乡村、本地生活门户、本地O2O平台的构建。请注意以下几点:1、这套源码必须要服务器支持伪静态,是支持.htaccess规则的伪静态,一般Apache服务器支持,别搞的下载回去以后说什么缺 少文件,其实源码并非缺少文件。2、这套源码请在php 5.4环境下

牛NIUCMS本地O2O系统 0
查看详情 牛NIUCMS本地O2O系统


而如果文件为远程文件,则原始码会有少许改动,程式如下:


以下为引用的内容:

$file_name = "example.exe";

立即学习PHP免费学习笔记(深入)”;

$file_dir = "http://back.zhizhi123.com/"; 

$file = @ fopen($file_dir . $file_name,"r"); 

if (!$file) {

    echo "文件未找到";

} else {

    Header("Content-type: application/octet-stream");

    Header("Content-Disposition: attachment; filename=" . $file_name);

    while (!feof ($file)) {

    echo fread($file,50000);

}

fclose ($file);

}

这样就能用PHP直接输出文件了。 


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号