时间:2021-07-01 10:21:17 帮助过:25人阅读
文件本身有汉字的,直接另存为 无BOM urf-8 编码
文件本身没有汉字的,直接另存为 ANSI 编码
从多语言版考虑,程序文件中是不应该之间特定语种的文字的。而是在运行时刻通过字典充填内容的
文件本身有汉字的,直接另存为 无BOM urf-8 编码
文件本身没有汉字的,直接另存为 ANSI 编码
从多语言版考虑,程序文件中是不应该之间特定语种的文字的。而是在运行时刻通过字典充填内容的
所有相关的文件都做了吗?
不是所有的浏览器都能忽略 BOM 头的
如果安装了netbeans,用它打开文件,
如果文件有bom头,会在第一行最前面 显示一个小点,删除这个小点,保存就可以了
所有相关的文件都做了吗?
不是所有的浏览器都能忽略 BOM 头的
"; }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 found, automatically removed."); } else { return ("BOM found."); } } else return ("BOM Not Found."); } function rewrite ($filename, $data) {$filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); }
你这个程序对删除 utf-8 BOM 是有效的
你可以这样看看
$s = file_get_contents('http://localhost');echo bin2hex($s);贴出输出的前20个字符
你这个程序对删除 utf-8 BOM 是有效的
你可以这样看看
$s = file_get_contents('http://localhost');echo bin2hex($s);贴出输出的前20个字符
从你的截图上看,有 字样
这应该是 unicode 的 BOM 头,要判断文件的头2个字符的内码值是否是 255 和 254
那段代码单独现在一个程序里,执行
从你的截图上看,有 字样
这应该是 unicode 的 BOM 头,要判断文件的头2个字符的内码值是否是 255 和 254
那段代码单独现在一个程序里,执行
你 #10 的截图中有 3 个 utf-8 BOM
你 #11 的截图中没有 BOM
你 #10 的截图中有 3 个 utf-8 BOM
你 #11 的截图中没有 BOM
要去掉所有先关文件中的 bom
你的那个程序放的位置很重要,再说你可能还引用了网站外的文件
要去掉所有先关文件中的 bom
你的那个程序放的位置很重要,再说你可能还引用了网站外的文件
如果你将项目中的文件的 bom 都去除了,页面中却还有 bom 存在的话
那么就表示你还使用了项目以外的文件
如果你将项目中的文件的 bom 都去除了,页面中却还有 bom 存在的话
那么就表示你还使用了项目以外的文件
那你就把 bom程序 放到网站的根上运行
那你就把 bom程序 放到网站的根上运行
难道你认为 js 文件不是 相关文件 吗?
难道你认为 js 文件不是 相关文件 吗?
难道你认为 js 文件不是 相关文件 吗?
你的网站在公网上吗?贴出网址来
你的网站在公网上吗?贴出网址来
有 3 个 bom
请贴出 index.php
有 3 个 bom
请贴出 index.php
[东方美居官方网站]中国领先的装修-建材-家居领域电子商务网站,专业装修建材家具消费导购平台 欢迎来到东方美居建材灯饰广场 会员登录 会员注册 个人中心 首 页 找家具 找建材 找辅料 美居之家
有 3 个 bom
请贴出 index.php
$url = 'http://www.25mj.com/';echo bin2hex(file_get_contents($url, false, null, 0, 20)), PHP_EOL;echo bin2hex(file_get_contents($url . 'inc.php', false, null, 0, 20));
$url = 'http://www.25mj.com/';echo bin2hex(file_get_contents($url, false, null, 0, 20)), PHP_EOL;echo bin2hex(file_get_contents($url . 'inc.php', false, null, 0, 20));
$url = 'http://www.25mj.com/';echo bin2hex(file_get_contents($url, false, null, 0, 20)), PHP_EOL;echo bin2hex(file_get_contents($url . 'inc.php', false, null, 0, 20));
$url = 'http://www.25mj.com/';echo bin2hex(file_get_contents($url, false, null, 0, 20)), PHP_EOL;echo bin2hex(file_get_contents($url . 'inc.php', false, null, 0, 20));
你的程序是怎么放到服务器上去的?
你不能在本地处理好以后再上传吗?
$url = 'http://www.25mj.com/';echo bin2hex(file_get_contents($url, false, null, 0, 20)), PHP_EOL;echo bin2hex(file_get_contents($url . 'inc.php', false, null, 0, 20));
你的程序是怎么放到服务器上去的?
你不能在本地处理好以后再上传吗?
$url = 'http://www.25mj.com/';
echo bin2hex(file_get_contents($url . 'index.php')), PHP_EOL;
可以见到 3 个 bom
但是你的 http://www.25mj.com/delete_bom.php 的报告中并没有这个文件!报告中的 index.php 都在子目录中
你把 delete_bom.php 中的 rewrite 函数改成这样:
function rewrite ($filename, $data) { if($filenum = fopen($filename, "w")) { if(flock($filenum, LOCK_EX)) { if(! fwrite($filenum, $data)) echo "$filename 写入失败看看是否是没有改写成功
"; }else echo "$filename 锁定失败
"; fclose($filenum); }else echo "$filename 打开失败
"; }
你把 delete_bom.php 中的 rewrite 函数改成这样:
function rewrite ($filename, $data) { if($filenum = fopen($filename, "w")) { if(flock($filenum, LOCK_EX)) { if(! fwrite($filenum, $data)) echo "$filename 写入失败看看是否是没有改写成功
"; }else echo "$filename 锁定失败
"; fclose($filenum); }else echo "$filename 打开失败
"; }
这就对了!文件都打不开,怎么去掉 bom 头?
你把那些打不开的文件下载下来,改好后重新传上去
这就对了!文件都打不开,怎么去掉 bom 头?
你把那些打不开的文件下载下来,改好后重新传上去
这就对了!文件都打不开,怎么去掉 bom 头?
你把那些打不开的文件下载下来,改好后重新传上去
文件是只读的,就是这样
你的文件不仅是在网站管理下,还在 ftp 管理下。这种情况是经常发生的
写权限实际是由 ftp 控制的,你可尝试用 ftp 客户端修改文件权限
写权限实际是由 ftp 控制的,你可尝试用 ftp 客户端修改文件权限