[phpstudy]php fopen函数创建中文文件名出错

更新时间:2019-12-06    来源:php函数    手机版     字体:

【www.bbyears.com--php函数】


PHP使用fopen()、filesize()等PHP文件系统函数处理中文名文件经常会提示出错,如下错误信息:

Warning: fopen(……): failed to open stream: No such file or directory in……
Warning: filesize(……): stat failed for ……
这种问题通常是由于PHP的文件编码与操作系统的编码不一致引起的。当我们使用PHP处理中文名称的文件时,必须保持PHP文件系统函数中的文件名称编码与系统编码保持一致,否则PHP将无法找到指定的文件,从而导致出现上述错误。

解决该问题的办法有两种:

第一种方法:将PHP文件的编码重新变更为GBK即可

中文版的Windows操作系统的编码默认为GBK,当php文件和要创建读取的文件编码不一致时,将会出现上述错误提示信息。

第二种方法:使用函数iconv()将编码为UTF-8的字符串转换为GBK编码:

$fileName="唠吧小站.txt";
$fileName=iconv("UTF-8","GBK",$fileName); //将字符编码从UTF-8转为GBK
echo filesize($fileName);
?>

注意:尽量不要使用中文名字我们使用拼音都比中文要好,像linux,php对中文支持都没有英文好了。

本文来源:http://www.bbyears.com/jiaocheng/82406.html