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

链接:点击下载

其中php:

$filename = $_GET['filename'];

//从浏览器获取到的字符的编码是UTF-8,我们要用这个函数转换成GBK才能才本地找到这个文件

$filename = mb_convert_encoding($filename,'GBK','UTF-8');

echo $filename ."
";

if( empty($filename)){

echo''; 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函数将找不到中文名字的文件。

maven编译问题-maven项目运行时找不到文件,解决方案之一

问题描述:以上信息是tomcat在启动项目的时候报的错误信息,发现没有找到配置文件,实际上配置文件在项目中是存在的,但是,在编译过程中,配置文件没有能加载到编译后的项目中.就造成了,找不到这些怕配置文 ...

呵呵哒,LNMP下通过fread方式下载文件时,中文名称文件找不到文件

哎,整整折腾一个下午. 本来好好的,thinkphp 自动的uniq方式保存的文件名,非要使用原文件名,真心蛋疼~~ 然后就只好写个脚本 把原来的所有文件都重新命名一下 - - 然后把数据库对应字段也 ...

springboot-项目获取resources下文件碰到的问题(classPath下找不到文件和文件名乱码)

项目是spring-boot + spring-cloud 并使用maven 管理依赖.在springboot+maven项目下怎么读取resources下的文件实现文件下载? 怎么获取resourc ...

Cocoapods - pod install 成功后找不到头文件解决

问题描述:使用Cocoapods时,import 找不到头文件. 问题原因:这是因为还没设置头文件的目录. 解决办法:在项目的Target的里设置一下,添加cocoapods头文件目录:目录路径直接写 ...

Visual Studio 编译项目失败,提示找不到文件

 博客地址:http://blog.csdn.net/FoxDave 今天碰到了一个蠢问题,虽然咱们正常情况下是遇不到的,但这确实是个应该注意的地方,所以简单记录一下. Visual Studio ...

MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法

MySQL安装过程net start mysql 启动失败 报“错误2,系统找不到文件”的解决办法 错误2,系统找不到文件. 开始...运行... regedit  注册表项: HKEY_LOCAL_ ...

iis php5.3.8 默认文档无效 404 - 找不到文件或目录

环境:WIN2008 R2 IIS7.5 / .NET4.X 新开1站点,使用php(5.3.8),默认首页文档已设置为index.php,网站所在目录的网站运行时用户权限正确,应用程序池是asp.n ...

当Android工程中提示你找不到头文件,但你已经设置头文件路径了

虽然在Android.mk文件中,配置了LOCAL_C_INCLUDES路径,但是工程中的红色叉号一直提示找不到头文件 这时,你在工程树目录中展开Includes项,捣鼓捣鼓,重新build下,或许就 ...

pod JONSKit.h MBProgress.h 找不到头文件,怎么办?

这时你看项目pod部分,多了JSONKit库.好了,第三方库就这么神奇的加进来. 头文件路径 那试试看使用JONSKit.h,在ViewController.m里引用下.找不到头文件,怎么办?还没设置 ...

随机推荐

poj2833

//poj2833优先队列.数据量太大,而且没有必要全部排序. //优先队列 //* #include #include #includ ...

ruby -- 进阶学习(三)Strong Parameters在rail3.0和4.0中的区别

今天coding的时候遇到一个未知的类型,于是用puts logo_params.class查了下数据类型,然后google了一下发现是 Strong Parameter Strong paramet ...

Apache Spark源码走读之3 -- Task运行期之函数调用关系分析

欢迎转载,转载请注明出处,徽沪一郎. 概要 本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚运行着的task其输入的数据从哪获取,处理的结果返回到哪里,如何 ...

关于.Net Remoting 和 Web Servcie的比较

参照文献 http://www.cnblogs.com/shinehouse/articles/3001955.html http://www.cnblogs.com/paper/archive/20 ...

poj 1696 极角排序求最长逆时针螺旋线

Space Ant Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4970   Accepted: 3100 Descrip ...

Android View的重绘过程之Layout

博客首页:http://www.cnblogs.com/kezhuang/p/ View绘制的三部曲,测量,布局,绘画现在我们分析布局部分测量部分在上篇文章中已经分析过了.不了解的可以去我的博客里找一 ...

Microsoft Dynamics CRM 2015 and Microsoft Dynamics CRM 2016 Performance and Scalability Documentation

摘要: 本人微信公众号:微软动态CRM专家罗勇 ,回复285或者20181126可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me ...

js中循环对比(for循环,foreach,for in,for of ,map)

对空位的处理 for循环(不会忽略空位,标记undefined) var arr =[1,2,undefined,3,null,,7] for (let i=0;i

转载,matla滤波函数

转载地址http://blog.sina.com.cn/s/blog_6163bdeb0102e1dj.html 滤波器设计是一个创建满足指定滤波要求的滤波器参数的过程.滤波器的实现包括滤波器结构的选 ...

apache用户认证、域名跳转、Apache访问日志(两种格式)

1.apache 设置,用户访问时 目录或文件的认证: 对目录的认证: //指定认证的目录AllowOverride AuthConfig ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值