php使用fopen创建utf8编码文件的方法


Posted in PHP onOctober 31, 2014

本文实例讲述了php使用fopen创建utf8编码文件的方法。分享给大家供大家参考。具体实现方法如下:

一般来说,如果我们直接使用fopen创建会发现文件编码都不是uft-8的了,那么如果要创建uft8文件我们需要进行一些技术处理。具体步骤如下:

使用PHP创建编码格式为utf-8文件的方法:

第一步:新建一个txt文件,打开,文件->另存为xxx.php,并将编码改为UTF-8,保存。

第二部:在php文件中加入如下代码:

<?php

$filename=rand(100,999).".txt";//定义好要创建的文件名称和文件格式(按需要自己改)

$str = "PHP学习网[3water.com]";//待写入新建文件中的内容

if (!$head=fopen($filename, "w+")) {//以读写的方式打开文件,将文件指针指向文件头并将文件大小截为零,如果文件不存在就自动创建

die("尝试打开文件[".$filename."]失败!请检查是否拥有足够的权限!创建过程终止!");

}

if (fwrite($head,$str)==false) {//执行写入文件

fclose($head);

die("写入内容失败!请检查是否拥有足够的权限!写入过程终止!");

}

echo "成功创建UTF-8格式文件[".$filename."],并向该文件中写入了内容:".$str;

fclose($head);

?>

使用这种方法创建UTF-8编码文件的关键点:

① 保证PHP代码文件本身的编码格式为UTF-8
② php代码文件的编码格式是什么则创建出来的文件编码也是什么
③ 显示出现乱码的问题

控制页面显示的因素主要有三个:

1.HTML代码控制:标准HTML网页文件中的head标签内部包含了这一句代码<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,代码中charset=utf-8这句就是告诉浏览器要以utf-8格式将网页中的内容显示出来。

2.PHP代码控制:如果在PHP文件的开头加上header("content-Type: text/html; charset=utf-8");这句代码,也是为了告诉浏览器要以utf-8格式将网页中的内容显示出来。(注:这句代码之前不能有类似echo的输出)

3.文件物理存储属性控制:用记事本打开一个文件,文件->另存为,你在“编码”中所看到的就是当前文件的真正的编码

补充一个fopen例子

<?php

$f=fopen("test.txt", "wb");

$text=utf8_encode("a!");

 

//先用函数utf8_encode将所需写入的数据变成UTF编码格式。

 

$text="\xEF\xBB\xBF".$text;

 

//"\xEF\xBB\xBF",这串字符不可缺少,生成的文件将成为UTF-8格式,否则依然是ANSI格式。

 

fputs($f, $text);

 

//写入。

 

fclose($f);

?>

这样创建出的文件编码格式确实是utf-8,但是放在文件中的汉字出现了乱码的现象,经过一番调试,代码如下:

<?php

$ctxtsubmit="好呀";

$f=fopen("../".$file, "wb");

    //$text=utf8_encode($ctxtsubmit);

    //先用函数utf8_encode将所需写入的数据变成UTF编码格式。

    $text="\xEF\xBB\xBF".$ctxtsubmit;

     //"\xEF\xBB\xBF",这串字符不可缺少,生成的文件将成为UTF-8格式,否则依然是ANSI格式。

    fputs($f, $text);

    //写入。

     fclose($f); 

?>

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
复杂检索数据并分页显示的处理方法
Oct 09 PHP
php下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
zen cart新进商品的随机排序修改方法
Sep 10 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
Nov 16 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 #PHP
PHP页面实现定时跳转的方法
Oct 31 #PHP
Thinkphp多文件上传实现方法
Oct 31 #PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 #PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 #PHP
Laravel 4 初级教程之安装及入门
Oct 30 #PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 #PHP
You might like
提升PHP执行速度全攻略(下)
2006/10/09 PHP
php防止sql注入简单分析
2015/03/18 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
IE6中链接A的href为javascript协议时不在当前页面跳转
2014/06/05 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
JavaScript使用readAsDataURL读取图像文件
2017/05/10 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
python控制台中实现进度条功能
2015/11/10 Python
python ddt实现数据驱动
2018/03/14 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
python 字符串常用函数详解
2019/09/11 Python
Python修改列表值问题解决方案
2020/03/06 Python
python 代码运行时间获取方式详解
2020/09/18 Python
Django Form常用功能及代码示例
2020/10/13 Python
python音频处理的示例详解
2020/12/23 Python
宿舍使用违章电器检讨书
2014/01/12 职场文书
村委会换届选举方案
2014/05/03 职场文书
项目工作说明书
2014/07/29 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
大学四年个人总结
2015/03/03 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
Java基础之线程锁相关知识总结
2021/06/30 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python