Php引用文件引起的空白行问题(UTF-8)
发布:smiling 来源: PHP粉丝网 添加日期:2013-12-05 22:18:48 浏览: 评论:0
引用文件指的是include、require_once引用其它文件引起的空白行,这其实是你用记事本编辑UTF-8文件以后,虽然你还是保存为UTF-8格式,但系统会自动给文件加两个bom标记,但是ie只能忽略一个,另一个就是空白行了。
解决办法就是:不要用记事本去编辑UTF-8文件,要用其它工具,比Dreamw、EmEditor 、Visual Studio 2008等编辑工具编辑UTF-8文件后保存。
我的两个站用记事本编辑后顶部就有空白行,起初以为是css设置问题,结果是bom标记引起的。
还有一种办法,如果你是大量文件都这样我们可使用一个php函数来搞定,把以下代码复制到一个PHP文件里面,然后放在需要清除BOM头的目录一下运行,就可以批量把PHP空白的首行清除掉,太给力了,代码如下:
- <?php
- if (isset($_GET['dir'])){ //设置文件目录
- $basedir=$_GET['dir'];
- }else{
- $basedir = '.';
- }
- $auto = 1;
- checkdir($basedir);
- function checkdir($basedir){
- if ($dh = opendir($basedir)) {
- while (($file = readdir($dh)) !== false) {
- if ($file != '.' && $file != '..'){
- if (!is_dir($basedir."/".$file)) {
- echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>";
- }else{
- $dirname = $basedir."/".$file;
- checkdir($dirname);
- }
- }
- }
- closedir($dh);
- }
- }
- function checkBOM ($filename) {
- global $auto;
- $contents = file_get_contents($filename);
- $charset[1] = substr($contents, 0, 1);
- $charset[2] = substr($contents, 1, 1);
- $charset[3] = substr($contents, 2, 1);
- if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
- if ($auto == 1) {
- $rest = substr($contents, 3);
- rewrite ($filename, $rest);
- return ("<font color=red>BOM found, automatically removed.</font>");
- } else {
- return ("<font color=red>BOM found.</font>");
- }
- }
- else return ("BOM Not Found.");
- }
- function rewrite ($filename, $data) {
- $filenum = fopen($filename, "w");
- flock($filenum, LOCK_EX);
- fwrite($filenum, $data);
- fclose($filenum);
- }
- ?>
Tags: 引用 文件 空白行问题
相关文章
- ·php变量的引用传值详细教程(2014-01-03)
- ·php 赋值和引用赋值使用说明(2014-01-06)
- ·php变量引用与对象引用详解介绍(2014-01-16)
- ·谨慎使用PHP的引用类型详解(2014-01-16)
- ·php中的变量引用传值学习笔记(2014-02-16)
- ·php 引用传值学习笔记(2014-02-17)
- ·PHP引用传递与引用&一些用法介绍(2014-02-22)
- ·PHP入门基础之引用文件学习笔记(2014-02-22)
- ·php中引用(变量和函数名前加&符号)用法(2014-02-25)
- ·PHP 全局变量之Global关键字引用解读(2014-03-06)
- ·php引用(&)与文件引用详解(2014-08-06)
- ·php foreach 传值还是传引用(2014-09-13)
- ·php引用返回function & fun();学习笔记(2015-04-09)
- ·PHP传值与传引用的区别例子对比(2015-04-10)
- ·php 传值赋值和引用赋值笔记(2015-12-10)
- ·PHP引用符&的使用方法汇总(2015-12-12)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)