当前位置:首页 > PHP教程 > php文件操作 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2018-10-22 17:12:25 浏览: 评论:0 

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编码:

  1. <?php 
  2. $fileName='唠吧小站.txt'
  3. $fileName=iconv('UTF-8','GBK',$fileName); //将字符编码从UTF-8转为GBK 
  4. echo filesize($fileName);  
  5. ?> 
注意:尽量不要使用中文名字我们使用拼音都比中文要好,像linux,php对中文支持都没有英文好了。

Tags: 文件名 中文 函数

分享到: