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 相关文章推荐
PHP5 安装方法
Oct 09 PHP
PHP初学入门
Nov 19 PHP
CodeIgniter php mvc框架 中国网站
May 26 PHP
php 生成文字png图片的代码
Apr 17 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
php学习之function的用法
Jul 14 PHP
关于UEditor编辑器远程图片上传失败的解决办法
Aug 31 PHP
php模板引擎技术简单实现
Mar 15 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 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 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
yii数据库的查询方法
2015/12/28 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
php仿微信红包分配算法的实现方法
2016/05/13 PHP
Yii2基于Ajax自动获取表单数据的方法
2016/08/10 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
浅谈mint-ui 填坑之路
2017/11/06 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
vue超时计算的组件实例代码
2018/07/09 Javascript
vue中进入详情页记住滚动位置的方法(keep-alive)
2018/09/21 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
[01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
2018/03/30 DOTA
python批量提交沙箱问题实例
2014/10/08 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
python os模块在系统管理中的应用
2020/06/22 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
Python grpc超时机制代码示例
2020/09/14 Python
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
婚礼主持结束词
2014/03/13 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
八年级语文教学反思
2016/03/03 职场文书
SQL Server基本使用和简单的CRUD操作
2021/04/05 SQL Server
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA