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 相关文章推荐
用 php 编写的日历
Oct 09 PHP
PHP高级OOP技术演示
Aug 27 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
在PHP中养成7个面向对象的好习惯
Jul 17 PHP
PHP基础知识回顾
Aug 16 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
php array_merge_recursive 数组合并
Oct 26 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 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中mysql模块部分功能的简单封装
2011/09/30 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
过虑特殊字符输入的js代码
2010/08/05 Javascript
JavaScript类库D
2010/10/24 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
js实现的类似于asp数据字典的数据类型代码实例
2014/09/03 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
举例讲解Python中is和id的用法
2015/04/03 Python
Python实现购物车功能的方法分析
2017/11/10 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
python多进程读图提取特征存npy
2019/05/21 Python
Python Django框架防御CSRF攻击的方法分析
2019/10/18 Python
Python高阶函数、常用内置函数用法实例分析
2019/12/26 Python
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
幼儿园教师教学反思
2014/02/06 职场文书
《小石潭记》教学反思
2014/02/13 职场文书
导师评语大全
2014/04/26 职场文书
工作所在部门证明
2014/09/21 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
法人身份证明书
2014/10/08 职场文书
护士先进个人总结
2015/02/13 职场文书
公司文体活动总结
2015/05/07 职场文书
趣味运动会赞词
2015/07/22 职场文书
详解python字符串驻留技术
2021/05/21 Python
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js