php文件下载显示找不到文件的解决办法:首先打开相应的下载代码文件;然后从浏览器中获取字符的编码;接着使用“mb_convert_encoding”函数转换编码;最后使用“file_exists”函数实现文件下载即可。

推荐:《PHP视频教程》

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

链接:点击下载

其中php:<?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函数将找不到中文名字的文件。

php怎么判断文件在下载,php文件下载显示找不到文件怎么办相关推荐

  1. 同个网络找不到计算机打印机共享,我已经在一台电脑上设置了打印机共享,为什么另一台电脑输入打印机电脑的IP显示找不到文件...

    我已经在一台电脑上设置了打印机共享,为什么另一台电脑输入打印机电脑的IP显示找不到文件以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

  2. MFC程序中将软件打包后,setup.exe文件自己电脑运行正常,别人电脑显示找不到文件路径

    MFC程序中使用到打开文件,打包后,自己电脑运行正常,别人电脑显示找不到文件路径 困扰了好久的问题,大哭! 问题现象:写了一个升级软件,其中需要读取升级文件并将其内容写入到设备中,使用VS2015软件 ...

  3. Red Hat6 Linux镜像文件,如何下载红帽企业版Linux的ISO镜像文件,如何开始安装红帽企业版Linux?...

    发行版本:红帽企业版 Linux,所有版本 问题: 如何下载红帽企业版 Linux 的 ISO 镜像文件,以便从光盘安装红帽企业版 Linux? 备注:如果您想下载红帽企业版Linux的评估版,需要首 ...

  4. 打开计算机管理提示找不到文件,Win8系统打开计算机管理提示找不到文件怎么解决...

    从windows xp系统到win10系统的发展,功能和界面都有很大的修改,而对于系统本身来说,一些基本设置还是没有变的,比如计算管理,计算机管理是一组 Windows 管理工具,可用来管理本地或远程 ...

  5. android xml 加载错误提示,加载uixml文件失败 打开wps时显示“加载XML文件失败1

    打开wps时显示"加载XML文件失败." 打开wps时显示"加载XML文件失败1 关闭所有打开的Word文档: 开始 → 运行 → 粘贴上面复制的命令 → 确定. 在打开 ...

  6. 右键计算机管理显示找不到文件,win10右键管理找不到文件怎么办 右键管理找不到文件解决方法...

    win10此电脑右键管理找不到文件怎么办?当我们在win10系统中,右击此电脑选择管理选项时,提示找不到Server manager.lnk文件,找不到Server manager.lnk文件怎么解决 ...

  7. cmd运行JAVA显示找不到文件

    我的环境变量设置没问题,hello.java也是在文件夹JAVA下面,为什么会显示找不到呢

  8. vue/js实现文件流下载,文件下载进度监听

    /*** 文档下载(通过文档请求,直接下载文档)* url 请求路径* fileName 下载名称* size 文件大小*/loadDown (url, fileName, size) {var _t ...

  9. SRA文件的下载(prefetch)和解压SRA文件(fastq-dump)

    sra文件下载方式 NCBI-SRA和EBI-ENA数据库 SRA数据库: Sequence Read Archive:隶属NCBI (National Center for Biotechnolog ...

  10. winpe镜像文件iso下载_教你如何使用iso文件安装系统_一键重装教程

    利用iso文件进行安装系统,是一种非常简单方便的方式.不过很多朋友不清楚具体怎么安装.下面小编就给大家介绍iso文件安装系统教程,大家可以参考下. 具体方法如下: 1.搜索小白系统官网,下载小白一键重 ...

最新文章

  1. 使用WindowsLive Writer2012和officeWord2013发布到博客园全面总结
  2. 2.5 亿!华为成立新公司!
  3. Parcelab 和 Serializable
  4. nagios结合pnp4nagios图表
  5. DeepMind详解新WaveNet:比原来快千倍,语音更自然 | 附论文
  6. Linux 下安装matlab2014a
  7. 【Python基础】Python中的高效迭代库itertools,排列组合随便求
  8. 程序员圣诞节相册源码_程序员分享圣诞刷屏源码,这次朋友圈千万不要再@微信官方了!...
  9. 微信第一个“小程序”亮相:不是APP胜似APP!
  10. mysql 是空字符或null 设置为0_MySQL优化(三) - 数据类型
  11. mysql5.7 innodb myisam 区别_InnoDB与MyISAM的区别(高性能MySQL笔记)
  12. 总结django form
  13. 微课|中学生可以这样学Python(例4.7):定时器
  14. 读写序列(pickle)
  15. window.URL对象的使用方式
  16. latex数学符号加粗_latex 数学符号加粗
  17. 用DEV-C++制作狼人杀
  18. c++将文件保存至txt文件的方法
  19. 获取股票数据【使用JQData查询行情数据、财务指标、估值指标】
  20. 物理内存是什么是计算机的显卡内存吗,物理内存可用数_可用内存和物理内存是什么意思?_可用物理内存...

热门文章

  1. 【车间调度】基于matlab遗传算法求解车间调度问题【含Matlab源码 070期】
  2. 【优化算法】多目标蝙蝠优化算法(MOBA)【含Matlab源码 005期】
  3. python自动化测试怎么提高效率_自动化测试更适合缺陷预防,而不是提高测试效率...
  4. gin mysql_golang+gin+mysql构建RESTful API
  5. 安装Genymotion步骤,启动模拟器时显示CPU不支持虚拟化—解决方法:惠普主机开启VT虚拟化CPU
  6. linux img提取文件系统,Linux系统获取开发板的文件系统并打包成img文件
  7. c语言实现作业调度先来先服务和短进程优先,实验2 先来先服务调度和最短作业优先调度算法实现.doc...
  8. 微信内下载APK 微信浏览器apk下载的解决方案
  9. datagrid鼠标悬浮提示
  10. 修改linux的防火墙