php ie 下载 乱码,php ie下载文件名乱码怎么办

php ie下载文件名乱码的解决办法:1、通过header方法解决乱码;2、通过“function remote_filesize($uri,$user='',$pw='') {...}”等方法解决乱码。

5aae93a8d70d904c31e7de1c06936545.png

php文件下载IE文件名乱码问题

一直用chrome浏览器,没发现问题。今天用ie6,发现文件下载时文件名乱码,ie下迅雷下载文件名也是乱码。网上查了下说在ie下需要使用urlencode编码一下,我试了下

header('Content-Disposition: attachment; filename='. rawurlencode($file_name);结果用ie下载还是乱码。php文件本身是gbk/gb2312编码,于是我先将$file_name转换成utf-8编码再进行urlencode

header('Content-Disposition: attachment; filename='. rawurlencode(iconv("GBK","UTF-8",$file_name)));这样使用ie下载就没问题了,难道urlencode只能对utf-8进行转义编码?

还有就是获取远程文件的大小问题,php中的filesize函数只能对本地文件进行处理,处理远程文件会失败并发出一条警告,并且在windows平台传入的参数必须是gbk/gb2312编码,使用utf-8编码将无法访问系统中的资源。

在网上找了四种获取远程文件大小的方法,多谢前辈们的分享,记录一下:

方法一:header<?php get_headers($url,true); //返回结果 Array ( [0] => HTTP/1.1 200 OK [Date] => Sat, 29 May 2004 12:28:14 GMT [Server] => Apache/1.3.27 (Unix) (Red-Hat/Linux) [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT [ETag] => "3f80f-1b6-3e1cb03b" [Accept-Ranges] => bytes [Content-Length] => 438 [Connection] => close [Content-Type] => text/html ) ?>

这里可以根据Content-Length直接获取大小了。

方法二:curlfunction remote_filesize($uri,$user='',$pw='') { // start output buffering ob_start(); // initialize curl with given uri $ch = curl_init($uri); // make sure we get the header curl_setopt($ch, CURLOPT_HEADER, 1); // make it a http HEAD request curl_setopt($ch, CURLOPT_NOBODY, 1); // if auth is needed, do it here if (!emptyempty($user) && !emptyempty($pw)) { $headers = array('Authorization: Basic ' . base64_encode($user.':'.$pw)); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); } $okay = curl_exec($ch); curl_close($ch); // get the output buffer $head = ob_get_contents(); // clean the output buffer and return to previous // buffer settings ob_end_clean(); echo '
head-->'.$head.''; // gets you the numeric value from the Content-Length // field in the http header $regex = '/Content-Length:\s([0-9].+?)\s/'; $count = preg_match($regex, $head, $matches); // if there was a Content-Length field, its value // will now be in $matches[1] if (isset($matches[1])) { $size = $matches[1]; } else { $size = 'unknown'; } //$last=round($size/(1024*1024),3); //return $last.' MB'; return $size; } 方法三:fsock

function getFileSize($url) { $url = parse_url($url); if($fp = @fsockopen($url['host'],emptyempty($url['port'])?80:$url['port'],$error)) { fputs($fp,"GET ".(emptyempty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n"); fputs($fp,"Host:$url[host]\r\n\r\n"); while(!feof($fp)) { $tmp = fgets($fp); if(trim($tmp) == '') { break; } elseif(preg_match('/Content-Length:(.*)/si',$tmp,$arr)) { return trim($arr[1]); } } return null; } else { return null; } } 方法四:file_get_contents

$fCont = file_get_contents("http://www.cnmiss.cn/"); echo strlen($fCont)/1024;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人驾驶技术排名:百度居中游,苹果特斯拉垫底 | 行业

来源&#xff1a;网易科技概要&#xff1a;其调查研究显示&#xff0c;无人驾驶汽车行业的现状已经发生了天翻地覆的变化&#xff0c;而特斯拉、苹果公司在今年的排名垫底。1月17日消息&#xff0c;据CNET网站报道&#xff0c;日前&#xff0c;美国市场研究机构Navigant Resear…

h5 换脸 php,【部分原创】python实现视频内的face swap(换脸)

1.准备工作&#xff0c;按博主的环境为准Python 3.5Opencv 3Tensorflow 1.3.1Keras 2cudnn和CUDA&#xff0c;如果你的GPU足够厉害并且支持的话&#xff0c;可以选择安装那就先安装起来&#xff0c;有兴趣的朋友给我个暗示&#xff0c;好让我有动力写下去&#xff0c;想实现整套…

接口隔离原则(ISP)

接口隔离原则&#xff08;The Interface Segregation Interface&#xff09; 这个原则用来处理“胖&#xff08;fat&#xff09;”接口&#xff08;类的接口不是内聚的&#xff09;所具有的缺点。“胖”接口可以分解成多组方法。 考虑一个安全系统&#xff0c;有一些Door对象&a…

马歇尔·赫伯特:人工智能的前沿技术与实例分析

来源&#xff1a;中国人工智能学会2017年12月11日&#xff0c;国际知名机器人专家、美国卡耐基梅隆大学机器人研究所所长马歇尔赫伯特(Martial Hebert)教授和首席科学家大卫伯恩(David Bourne)教授访问了中国科学技术大学参观中科大机器人实验室并作演讲。演讲人简介&#xff1…

ActiveMQ消费者平滑关闭

平滑关闭的思路就是让正在执行的任务线程正常执行完毕&#xff0c;然后再关闭JVM。在JVM关闭之前触发一个shutdown hook&#xff0c;jvm自带这个hook&#xff0c;在java启动时候就可以注册这样的hook。 ##1、简述JVM关闭钩子&#xff08;shutdown hook&#xff09; 首先JVM的关…

二叉堆时间复杂度 php,二叉堆(Binary Heap)

二叉堆这个数据结构有点意思&#xff0c;自己做了个总结&#xff0c;内容结构如下&#xff1a;二叉堆性质二叉堆操作应用二叉堆性质&#xff1a;堆(Heap)是一个可以被看成近似完全二叉树的结构&#xff0c;具有完全二叉树的特性&#xff1a;缺少的叶子节点总是位于右子节点n个节…

产业丨一文读懂人工智能产业链,未来10年2000亿美元市场

来源&#xff1a;国防科技信息网概要&#xff1a;针对人工智能产业链&#xff0c;主要有三个核心&#xff1a;基础技术、人工智能技术及人工智能应用&#xff0c;本文将从主要从这三个方面进行梳理。人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩…

2017年高性能计算领域的成功与失败

来源&#xff1a;中科院信息科技战略情报概要&#xff1a;2017年&#xff0c;机器学习和各种人工智能应用在高性能计算领域持续发挥着重要影响力。2017年12月9日&#xff0c;TOP500官网刊文总结了高性能计算在2017年取得的新进展&#xff0c;以及未来发展趋势&#xff0c;主要内…

Science封面:谁动了我的DNA?原来是你拿去做机器人了

来源&#xff1a;机器人大讲堂概要&#xff1a;慕尼黑工业大学的Friedrich C. Simmel团队使用DNA分子&#xff0c;组装出了一个可以远程控制的纳米机械臂&#xff0c;并用它成功推动了一个纳米金颗粒。本周《Science》期刊的封面故事&#xff0c;介绍了一款德国制造的灵活DNA手…

中国倒数第五!毕马威全球自动驾驶报告|附下载

来源&#xff1a;智东西概要&#xff1a;指向高效、安全的自动驾驶被认为是未来汽车形态&#xff0c;渐渐融入到各国汽车发展战略中去&#xff0c;科技公司和传统车企纷纷入局。指向高效、安全的自动驾驶被认为是未来汽车形态&#xff0c;渐渐融入到各国汽车发展战略中去&#…

潘建伟团队进行人类首次洲际量子通信,给奥地利发去了什么?

来源&#xff1a;澎湃新闻概要&#xff1a;世界首颗量子通信实验卫星完成目标&#xff1b;世界首条量子保密通信“京沪干线”开通&#xff1b;世界首次洲际量子通信……世界首颗量子通信实验卫星完成目标&#xff1b;世界首条量子保密通信“京沪干线”开通&#xff1b;世界首次…

《人工智能标准化白皮书(2018版)》发布|附下载

来源&#xff1a;光明网概要&#xff1a;1月18日下午&#xff0c;2018人工智能标准化论坛在京召开&#xff0c;本次论坛发布了《人工智能标准化白皮书&#xff08;2018版&#xff09;》。1月18日下午&#xff0c;2018人工智能标准化论坛在京召开&#xff0c;本次论坛发布了《人…

matlab7.0停止工作,matlab7.0闪退是怎么回事_matlab7.0闪退怎么办

描述兼容性引起的matlab7.0闪退1、在桌面的matlab图标上点击右键&#xff0c;选择“属性”2、选择“兼容性”3、勾选“以兼容模式运行这个程序”&#xff0c;再选择“Windows2000”4点击“确定”matlab7.0闪退的解决办法1)如果不是Intel的CPU&#xff0c;要添加环境变量--〉系统…

贝叶斯机器学习前沿进展

来源&#xff1a;人机与认知实验室概要&#xff1a;随着大数据的快速发展&#xff0c;以概率统计为基础的机器学习在近年来受到工业界和学术界的极大关注&#xff0c;并在视觉、语音、自然语言、生物等领域获得很多重要的成功应用。摘要 随着大数据的快速发展&#xff0c;以概率…

数据库事务的概念及其实现原理

目录 1. 认识事务 1.1 为什么需要数据库事务1.2 什么是数据库事务1.3 事务如何解决问题1.4 事务的ACID特性以及实现原理概述2.并发异常与并发控制技术 2.1 常见的并发异常2.2 事务的隔离级别2.3 事务隔离性的实现——常见的并发控制技术 2.3.1 基于封锁的并发控制2.3.2 基于时…

Fast.ai推出NLP最新迁移学习方法「微调语言模型」,可将误差减少超过20%!

原文来源&#xff1a;arxiv作者&#xff1a;Jeremy Howard、Sebastian Ruder「雷克世界」编译&#xff1a;嗯~是阿童木呀可以这样说&#xff0c;迁移学习已经促使计算机视觉领域发生了具有革命性的变化&#xff0c;但对于自然语言处理&#xff08;NLP&#xff09;中的现有方法来…

Spring Data JPA事务管理

1、事务基础概念_四大特性 数据库中事务的四大特性&#xff08;ACID&#xff09;&#xff0c;如果一个数据库声称支持事务的操作&#xff0c;那么该数据库必须要具备以下四个特性&#xff1a; ⑴ 原子性&#xff08;Atomicity&#xff09; 原子性&#xff0c;是指事务包含的所有…

教育部发文:AI、算法等2018年进入全国高中课程!

来源&#xff1a;全球人工智能概要&#xff1a;1月16日上午&#xff0c;教育部召开新闻发布会&#xff0c;介绍了《普通高中课程方案和语文等学科课程标准&#xff08;2017年版&#xff09;》的有关情况&#xff0c;并重新修订了语文等14门学科的课程标准。1月16日上午&#xf…

JPA事务示例分析

在这个工程中&#xff0c;定义一个名为User的实体&#xff1a; Entity Data NoArgsConstructor public class User {IdGeneratedValueprivate Long id;Size(max 5)private String name;Max(50)private Integer age;public User(String name, Integer age) {this.name name;t…

智能零售来了!Amazon Go无人商店周一正式对公众开放

来源&#xff1a;网络大数据概要&#xff1a;经过近 14 个月只对亚马逊公司员工开放的试运行&#xff0c;周一这家标着 Amazon Go 标志的店面将公开亮相&#xff0c;这是亚马逊近年来投入最多努力的项目之一&#xff0c;旨在重塑实体购物的体验。据《西雅图时报》报道&#xff…