上犹电脑信息网我们一直在努力
您的位置:上犹电脑信息网 > 文件问题 > PHP实现各种格式文件的下载以及我踩过的各种坑-php文件

PHP实现各种格式文件的下载以及我踩过的各种坑-php文件

作者:上犹日期:

返回目录:文件问题

天上没馅饼,地下有陷阱,一不小心又掉进坑了

PHP实现各种格式文件的下载以及我踩过的各种坑

PHP实现文件下载,判断文件是否存在需要file_exists()函数(第一个坑)

file_exists($filepath)参数$filepath是英文或者数字就很好解决,但是如果含有中文,file_exists()根本判断不了,这是一个坑,所以我们需要iconv()对中文的路径进行转码,转化为gb2312才能识别

iconv( string $in_charset,string $out_charset,string $string)

$in_charset 输入的字符集;

$out_charset 输出的字符集

$string 要转换的字符串

PHP实现各种格式文件的下载以及我踩过的各种坑

告诉浏览器这是下载文件,需要设置下载header()头

//告诉客户端浏览器,区分不同种类的数据

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

//告诉客户端浏览器返回的文件大小是按照字节进行计算的

header("Accept-Ranges: bytes");

//告诉浏览器返回的文件大小,需要filesize()获取文件大小

header("Accept-Length:".filesize($filepath));

//告诉浏览器下载文件的名称需要pathinfo()函数,

header("Content-Disposition: attachment; filename=".$downloadName);

$downloadName参数必须有文件的类型eg:

a.php 搞笑.zip

pathinfo()该函数成功则返回一维渡数组

var_dump(pathinfo('./小学(1).jpg'));

php5.3

PHP实现各种格式文件的下载以及我踩过的各种坑

php5.6

PHP实现各种格式文件的下载以及我踩过的各种坑

在php5.3中如果文件名全中文pathinfo的返回值filename就会为,为空会发生什么?下载的文件根本打不开

PHP实现各种格式文件的下载以及我踩过的各种坑

打开文件fopen(),读取文件fread(),测试文件指针是否到了结束位置feof(),关闭文件fclose()

用一个函数方便调用,完整代码截图

PHP实现各种格式文件的下载以及我踩过的各种坑

相关阅读

  • 你可能不知道的cookie-cookies设置

  • 上犹设置问题
  • cookies设置,大家都了解的cookie很多前端面试题都会考察cookie 大家一般都能答上的几个点:不能跨域存储空间有限,4KB通过document.cookieAPI进行get和setcookie与其他本地存储的区别大小不同,
关键词不能为空
极力推荐

电脑蓝屏_电脑怎么了_win7问题_win10问题_设置问题_文件问题_上犹电脑信息网

关于我们