php的bom头会影响格式,完美解决由bom头引发的非法字符#65279;出现php网站模板或功能问题...

news/2024/5/19 11:25:29/文章来源:https://blog.csdn.net/weixin_36310976/article/details/115156527

今天为一个客户解决网页模板问题发现一个有意思的问题,客户还是对代码有些小懂,自己尝试着改了一下,结果发现头部多出来一个空行,找到我以后,随即f12查看了一下,一看乐了,出现了个字符把头部的位置给挤下去了,查询了一些资料发现,这个问题其实很好解决,主要原因其实是客户使用了txt文本文档对模板文件进行了编辑,好多新手都存在这个问题,asp时代已经过去了,想当初,一个txt文本文档行走天下,现在这个是用不了了。现在将解决办法分享给大家!

方法1:

直接notopad++ 保存为无dom格式 (格式->转为UTF-8 无dom格式)

e4cffef4fa1ac543e080807cb275eabb.png

方法2:

自己生成个bom清除工具,直接放在网站根目录,运行即可。下面为bom代码:

header('content-Type: text/html; charset=utf-8');

if(isset($_GET['dir'])){ //设置文件目录,如果没有设置,则自动设置为当前文件所在目录

$basedir=$_GET['dir'];

}else{

$basedir='.';

}

$auto=1;/*设置为1标示检测BOM并去除,设置为0标示只进行BOM检测,不去除*/

echo '当前查找的目录为:'.$basedir.'当前的设置是:';

echo $auto?'检测文件BOM同时去除检测到BOM文件的BOM
':'只检测文件BOM不执行去除BOM操作
';

checkdir($basedir);

function checkdir($basedir){

if($dh=opendir($basedir)){

while (($file=readdir($dh)) !== false){

if($file != '.' && $file != '..'){

if(!is_dir($basedir.'/'.$file)){

echo '文件: '.$basedir.'/'.$file .checkBOM($basedir.'/'.$file).' 
';

}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 (' 找到BOM并已自动去除');

}else{

return (' 找到BOM');

}

}else{

return (' 没有找到BOM');

}

}

function rewrite($filename,$data){

$filenum=fopen($filename,'w');

flock($filenum,LOCK_EX);

fwrite($filenum,$data);

fclose($filenum);

}

?>

复制以上代码,然后另存为一个名为bom.php的文件,然后放置在网站服务器或虚拟主机根目录下,运行http://www.xx.com/bom.php即可清除产生的bom头格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_781615.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SeleniumPhantomJS获取网站中的JS返回的数据

一、安装Selenium模块 pip install selenium Selenium 是一套完整的Web应用程序测试系统,包含了测试的录制、编写及运行和测试的并行处理。二、安装PhantomJS(官网下载:http://phantomjs.org/) 下载后放在python安装目录,和…

一步一步SharePoint 2007之十六:注册并配置一个网站用户

在前面的文章中,我已经介绍了如何创建管理帐户。创建其它帐户的方法是一样的。大家可以把这个注册系统放到自己的网站中,就可以成为网站的一部分了。本文将只讲解如何在管理工具中将用户手动加入到网站用户组中,至于如何将注册完后的用户自动…

破解网站验证码

概述 很多开发者都讨厌网站的验证码,特别是写网络爬虫的程序员,而网站之所以设置验证码,是为了防止机器人访问网站,造成不必要的损失。现在好了,随着机器学习技术的发展,机器识别验证码的问题比较好解决了。…

最热开源静态网站生成器 TOP 20

1、静态站点生成器 Jekyll Jekyll 是一个简单的免费的Blog生成工具,类似WordPress。但是和WordPress又有很大的不同,原因是jekyll只是一个生成静态网页的工具,不需要数据库支持。但是可以配合第三方服务,例如discuz。最关键的是jekyll可以免费…

配件查询网站用java,基于jsp的配件管理系统-JavaEE实现配件管理系统 - java项目源码...

基于jspservletpojomysql实现一个javaee/javaweb的配件管理系统, 该项目可用各类java课程设计大作业中, 配件管理系统的系统架构分为前后台两部分, 最终实现在线上进行配件管理系统各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类配件管理系统相关的实体…

linux查看当前服务器是什么文件系统,linux文件系统中每个文件用什么来标识_网站服务器运行维护,linux...

linux如何查看tomcat进程_网站服务器运行维护linux查看tomcat进程的方法:首先进入linux系统;然后启动tomcat;接着执行命令“ps aux | grep tomcat”和“ps -ef | grep tomcat”即可查看正在运行的tomcat进程。linux文件系统中每个文件用什么来…

微软MSN Virtual Earth网站

MSN Virtual Earth网站已可以登录,有视频演示和图片,发布据说在今年夏天。http://www.virtualearth.com/视频演示:http://www.virtualearth.com/msnvirtualearth.asx下面是最新报道:在美国旧金山举行的互联网及地理信息服务会议“…

网站运营之比较和差异化

网站运营之比较和差异化人类内心有很多情绪,其中一种最基本的情绪是嫉妒。人类社会的幸福不在于你拥有什么,而在于比较。这个比较可能是负面的,也可能是正面的。比如说,良好的竞争,这是一种正向的比较,能够…

SEO专题之四:如何合理有效选定关键字

上一篇我们讲到了SEO与网站开发的中的注意事项,这篇文章继续结合上一篇内容继续讲解,如何合理有效的选定关键字.我们都知道.搜索引擎的工作是按你在文本框内输入的关键字来查找内容相匹配的网页.如果查找到则在搜索列表中显示出来,那么是不是你只要指定了相应的关键字浏览者就一…

谈谈大型网站的负载均衡器、db proxy和db

本文主要分析网站后台架构中的负载均衡器,企业常用的硬件负载均衡器软件负载均衡器、数据库代理服务器和数据库。 1.1 负载均衡 在大型网站部署中,负载均衡至少有三层部署。第一层为web server或者缓存代理之上的负载均衡,第二层为数据库之上…

批量抓取title keywords descrip【seo工具】

前两天帮朋友写个小工具。思路很简单实现也不是太难。写了这么个小工具。 实现功能:通过搜索引擎自动换页抓取记录页面中的属性值。贴代码: usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Draw…

用四八拔千斤之术解决网站百度沙盒

今天,实名网络营销师盼发表了一篇文章《百度收录保持在1,度娘都难以解决的问题》,他的博客都上线都半个多月了,博客的内容一直在持续更新,反链也逐渐增多,但是百度只收录首页,内页都没有收录&am…

python爬虫(上)--请求——关于旅游网站的酒店评论爬取(传参方法)

前言 最近考试一直都没有时间写这篇总结,现在考试暂告一段落,现在抽空出来写一篇总结,总结一下python爬虫的学习进度。 承接上一篇基于scrapy框架爬虫学习小结,上一篇主要是第二次作业后,“老师说会给我们时间继续完…

(Experience)模拟登陆网站 之 C#版

1、点击“获取cookie BAIDUID”: 2、然后接着点击“获取token值”: 3、接着再去填上你的百度的用户名和密码,然后再点击“模拟登陆百度首页”,如果用户名和密码都是正确的话,即可成功登陆: 当然&#…

VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

原文地址为: VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件。(此文章也是总结了网上好多人写的文章&#xff…

通过ABB-RobotApps网站下载资源

ABB-RobotApps网站上提供了很多RobotStudio上非常有用的插件与一些做好的用于仿真的库文件可以供我们免费下载。这些插件可以扩展我们RobotStudio的功能,库文件可以大大简化我们仿真的工作量。这些东西通过RobotStudio的Add-Ins选项卡中的RobotApps页面也可以访问&a…

手把手教你使用阿里云搭建个人网站(上云良心品,细致到想哭)

时间过得真快,备案快要通过下来了,自己也马上要成为一个真正的站长了,今天就来说一下我如何使用”云平台方案调研/技术选型”、”云上建站/开发过程”、”架构解析/优化”、”上云前后对比”、”遇到的问题及解决方案”经历吧。 ‘为了无法计…

少为人知但功能强大的网站推荐

话不多说,直接进入正题 1 NiceTool 网址:http://www.nicetool.net/ 这是一个用完即走的在线工具合集,和万彩办大师很像,不过这个软件是一个在线的网站,不用下载,使用起来更方便。 “Nice Tool”各种工具…

物权法全文内容有哪些呢-广告外链_白杨SEO:网站SEO优化中,关键词内链与外链如何规划?【重发】...

原创:白杨 全文2156字 预计阅读5分钟前言:这是白杨SEO公众号原创第160篇。这是之前一篇发过的,因为某些原因删除了,这里把举例修改了,重发一次,对于有需要的还可以看看。顺祝大家五一快乐!大纲如…

laravel 开发的双语网站_php全栈开发工程师周未班,错过再等三个月

php中文网第一期《全栈web开发工程师周末班》,正式接受报名!针对平时没有时间,课程消化能力弱的同学将是一个新的福音,本期周未班为全天上课,上午2小时,下午2-3小时的直播课程,其它周一至周五均…