file_get_contents遇到中文文件名无法打开怎么办?

利用file_get_contents打开文件或者远程服务器如果文名或url中碰到汉字中文那么会出现failed to open stream:Lnvalid argument in错误。

源代码如下:

<?php 
$filename = "客户案例.txt";
$json_string = file_get_contents($filename);
print_r($json_string);
?>

后来发现是系统编码问题,文件用的是utf-8编码,但是系统默认为gbk.所以先把文件名转换gbk然后再读取。

$filename=iconv('utf-8','gbk',$filename);

读取成功。

<?php 
$filename = "客户案例.txt";//本地文件或文件URL,理论大部分正经文件都能读取。
$filename=iconv('utf-8','gbk',$filename);
$json_string = file_get_contents($filename);
print_r($json_string);
?>
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《file_get_contents遇到中文文件名无法打开怎么办?》
文章链接:https://www.qqooo.cn/html/1511.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
本站资源均来源于网络,若侵犯您的权益,请来信 Feelym@88.com 删除!