PHP中fopen如何读取带中文URL地址
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章将为大家详细讲解有关PHP中fopen如何读取带中文URL地址,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。但昨天在读取一张图片的时候出问题了,后来发现是U
千家信息网最后更新 2025年11月15日PHP中fopen如何读取带中文URL地址
这篇文章将为大家详细讲解有关PHP中fopen如何读取带中文URL地址,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
但昨天在读取一张图片的时候出问题了,后来发现是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。
一、语法:
复制代码 代码如下:
fopen(filename, mode, include_path, context)
| 参数 | 描述 |
| filename | 规定要打开的文件或 URL。 |
| mode | 规定要求到该文件/流的访问类型。可能的值见下表。 |
| include_path | 如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 TRUE。 |
| context | 规定文件句柄的环境。Context 是可以修改流的行为的一套选项。 |
二、mode 参数的可能的值:
| mode | 说明 |
| "r" | 只读方式打开,将文件指针指向文件头。 |
| "r+" | 读写方式打开,将文件指针指向文件头。 |
| "w" | 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
| "w+" | 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
| "a" | 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
| "a+" | 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
| "x" | 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
| "x+" | 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
关于"PHP中fopen如何读取带中文URL地址"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
文件
指向
指针
方式
代码
尝试
函数
中文
参数
字符
篇文章
编码
地址
信息
大小
底层
更多
末尾
标记
版本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
龙岩国浩网络技术有限公司
互联网开发和软件开发有区别
网络安全场景应用是什么意思
网络安全教育资料名称有哪些
怎么看懂数据库的内容
设计一个通用的网络安全模型
删除数据库的js代码
安卓软件开发的视频
thinkpadx1c软件开发
app登陆请求服务器失败
数据库的视图属于
vs连接mysql数据库
电信业网络安全设备
软件开发公司4大基本部门
数据库技术基础总结
win10远程服务器管理
新基建网络安全大脑
魔兽世界服务器世界之树
三级数据库技术考试答案
苹果收件服务器
杨浦区信息软件开发服务报价表
数据库命名通道提供程序
广州要玩娱乐网络技术股份
大学无线网络技术
羊小咩无法连接服务器
医疗卫生网络安全 事件
软件开发公司前景工资什么样
das服务器未反应
服务器 主机安全加固系统
检查服务器安全性