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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
ajax在joomla中的原生态应用代码
Jul 19 PHP
Smarty中常用变量操作符汇总
Oct 27 PHP
PHP操作MySQL事务实例
Nov 05 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
php实现Session存储到Redis
Nov 11 PHP
CodeIgniter配置之routes.php用法实例分析
Jan 19 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
Dec 08 PHP
php的PDO事务处理机制实例分析
Feb 16 PHP
PHP实现更改hosts文件的方法示例
Aug 08 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
php中对象引用和复制实例分析
Aug 14 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
其他功能
2006/10/09 PHP
php mysql数据库操作分页类
2008/06/04 PHP
隐性调用php程序的方法
2015/06/13 PHP
PHP文件与目录操作示例
2016/12/24 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
JQuery live函数
2010/12/24 Javascript
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
Js中的onblur和onfocus事件应用介绍
2013/08/27 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
2016/07/01 Javascript
KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
2016/10/10 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
Python做简单的字符串匹配详解
2017/03/21 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
详解rem 适配布局
2018/10/31 HTML / CSS
个人找工作自荐信格式
2013/09/21 职场文书
保险专业自荐信范文
2014/02/20 职场文书
大学新生军训方案
2014/05/03 职场文书
护理专科学生自荐书
2014/07/05 职场文书
优秀家长自荐材料
2014/08/26 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
优秀班主任推荐材料
2014/12/17 职场文书
前台接待岗位职责
2015/02/03 职场文书
开票证明
2015/06/23 职场文书