PHPfopen读取带中文URL地址的一点见解
2023-06-13 09:14:35 时间
但昨天在读取一张图片的时候出问题了,后来发现是URL里带中文字符。
例如下面这种情况:
复制代码代码如下:
例如下面这种情况:
$files=fopen("http://www.website.com/我的PP.jpg","rb");
那“$files”的返回值将会是“False”。首先我想到的是将URL用urlencode编码一下,发现还是不行,原来urlencode会把“:”、“/”字符也编码了,那URL就不是URL了。呵,说得有些绕口,那就把“:”、“/”字符的编码替换回来就应该行的。
$url="http://www.website.com/我的PP.jpg";
$url=preg_replace("/\%3A/i",":",preg_replace("/\%2F/i","/",urlencode(urldecode($url))));$file=fopen($url,"rb");
试试,嘿~还真是行了。下面再温习一下fopen()函数:
fopen()函数打开文件或者URL。如果打开失败,本函数返回FALSE。打开成功,本函数返回TRUE。
一、语法:
二、mode参数的可能的值:
这和给底层的open(2)系统调用指定O_EXCL|O_CREAT标记是等价的。
此选项被PHP4.3.2以及以后的版本所支持,仅能用于本地文件。
这和给底层的open(2)系统调用指定O_EXCL|O_CREAT标记是等价的。
此选项被PHP4.3.2以及以后的版本所支持,仅能用于本地文件。
相关文章
- Final Cut Pro Mac(fcpx专业视频剪辑软件)10.6.5中文支持M1
- VIM 中文乱码的问题
- dirsearch使用方法_ISR6051中文使用手册
- Auto CAD 2006中文完整版安装教程(32_64位)-cad软件全版本下载地址
- 全新CAD2024软件中文直装版下载CAD2023下载装最新版AutoCAD2024下载安装教程
- MySQL数据库开发实践:用 Java 开发中文应用(mysql中文java)
- 25字中文文章标题:探秘福州Linux运维,技术与市场并重(福州linux运维)
- 提升效率在Redis中存储中文信息(中文存在redis)
- MySQL不支持中文字符设置(mysql不能设置中文)
- MySQL不支持中文存储解决方案(mysql 不能存入中文)
- 瞄准oracle,开启中文可视化之旅(oracle中文可视化)
- Chrome 浏览器 Dev 94 开发者工具现已支持中文
- 彻底解决ASP.NETMD5加密中文结果和ASP不一致的问题
- jQuery.autocomplete支持中文输入(firefox)修正方法
- JS控制阿拉伯数字转为中文大写示例代码