• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

php文件下载以及file_exists找不到文件的解决方案

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

链接:<a href="upload/file/download.php?filename=雨人工作室.doc" target="_blank" >点击下载</a>

其中php:

<?php
$filename = $_GET['filename'];
//从浏览器获取到的字符的编码是UTF-8,我们要用这个函数转换成GBK才能才本地找到这个文件
$filename = mb_convert_encoding($filename,'GBK','UTF-8');
echo $filename ."<br>";
if( empty($filename)){
    echo'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; exit();
}

if   (!file_exists($filename))   {   //检查文件是否存在
    echo   "文件找不到";
    exit;
}   else   {
    $file = fopen($filename,"r"); // 打开文件
    // 输入文件标签
    Header("Content-type: application/octet-stream");
    Header("Accept-Ranges: bytes");
    Header("Accept-Length: ".filesize($filename));
    Header("Content-Disposition: attachment; filename=" . $filename);
    // 输出文件内容
    echo fread($file,filesize($filename));
    fclose($file);
    exit();
}
?>

总结:如果没有对浏览器传进来的文件地址进行转码(从UTF-8转成GBK),那么file_exists函数将找不到中文名字的文件。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
phpclass中public,private,protected的区别,以及实例发布时间:2022-07-10
下一篇:
PHPcurl实现异步的http请求(转)发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap