PHP fopen中文文件名乱码问题解决方案


Posted in PHP onOctober 28, 2020

一般在php中会使用fopen进行生成文件,但是当文件名存在中文时保存文件会出现中文乱码。
源代码:

<?php
$fileName = __DIR__ . '\测试.txt';
$fp = fopen($fileName, 'w');
fwrite($fp, '这是中文内容');
fclose($fp);
echo $fileName.'<br>';
if(file_exists($fileName)){
  echo 'hhhhh';
}
?>

结果:

PHP fopen中文文件名乱码问题解决方案

文件名是乱码

解决:

对文件名进行编码。

<?php
$fileName = __DIR__ . '\测试.txt';
$fileName = iconv('UTF-8', 'GBK', $fileName);
$fp = fopen($fileName, 'w');
fwrite($fp, '这是中文内容');
fclose($fp);
echo $fileName.'<br>';
if(file_exists($fileName)){
  echo 'hhhhh';
}
?>

结果:

PHP fopen中文文件名乱码问题解决方案

文件名非乱码

但是看页面输出的文件名:

PHP fopen中文文件名乱码问题解决方案

输出的文件名为乱码

所以当要在页面上输出文件名又需要保存文件时,可以先保存原先的中文文件名,再通过文件名编码进行创建文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Jan 27 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
Nov 17 PHP
PHP递归调用数组值并用其执行指定函数的方法
Apr 01 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
PHP中SESSION的注销与清除
Apr 16 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
Jun 02 PHP
php如何修改SESSION的生存存储时间的实例代码
Jul 05 PHP
Laravel相关的一些故障解决
Aug 19 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 PHP
PHP dirname功能及原理实例解析
Oct 28 #PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 #PHP
PHP tp5中使用原生sql查询代码实例
Oct 28 #PHP
PHP dirname(__FILE__)原理及用法解析
Oct 28 #PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 #PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 #PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 #PHP
You might like
php使用for语句输出三角形的方法
2015/06/09 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
用cookies实现的可记忆的样式切换效果代码下载
2007/12/24 Javascript
jquery如何判断某元素是否具备指定的样式
2013/11/05 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
深入浅出es6模板字符串
2017/08/26 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
[06:37]2014DOTA2国际邀请赛 昔日王者渴望重回巅峰
2014/07/12 DOTA
python操作redis的方法
2015/07/07 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
python pygame实现2048游戏
2018/11/20 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
HTML5的新特性(1)
2016/03/03 HTML / CSS
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
家电业务员岗位职责
2014/03/10 职场文书
3的组成教学反思
2014/04/30 职场文书
联片教研活动总结
2014/07/01 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
如何书写公司员工保密协议?
2019/06/27 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
解析Java异步之call future
2021/06/14 Java/Android
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android