檢測根目錄帶bom頭資訊的檔案
新建bom.php檔案,複製以下程式碼儲存。然後把檔案放到根目錄下,在瀏覽器訪問檢測是否有帶bom頭資訊的檔案存在:http://你的域名/bom.php?auto=0
如果想清除的話,請訪問:http://你的域名/bom.php?auto=1
<?php
//remove the utf-8 boms
//by magicbug at gmail dot com
if (isset($_GET['dir'])){ //config the basedir
$basedir=$_GET['dir'];
}else{
$basedir = '.';
}
$autoval = !empty($_GET['auto']) ? $_GET['auto'] : 0;
$auto = $autoval;
$num = 0;
$str = '';
checkdir($basedir, $str, $num);
if (0 < $num) {
$str = '檢測有'.$num.'個檔案帶有BOM頭部資訊 <br>'.$str;
}
echo $str;
exit;
function checkdir($basedir, &$str = '', &$num = 0){
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
if (!is_dir($basedir."/".$file)) {
$return = checkBOM("$basedir/$file", $num);
if (0 == $return['code']) {
$str .= "filename: $basedir/$file ";
$str .= $return['msg']." <br>";
}
}else{
$dirname = $basedir."/".$file;
checkdir($dirname, $str, $num);
}
}
}
closedir($dh);
}
}
function checkBOM ($filename, &$num = 0) {
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) {
$num++;
if ($auto == 1) {
$rest = substr($contents, 3);
rewrite ($filename, $rest);
return [
'code' => 0,
'msg' => "<font color=red>BOM found, automatically removed.</font>",
];
} else {
return [
'code' => 0,
'msg' => "<font color=red>BOM found.</font>",
];
}
} else {
return [
'code' => 1,
'msg' => "BOM Not Found.",
];
}
}
function rewrite ($filename, $data) {
$filenum = fopen($filename, "w");
flock($filenum, LOCK_EX);
fwrite($filenum, $data);
fclose($filenum);
}
?>
相關文章
- .Net引用根目錄子資料夾下的dll檔案
- 檢視BAM檔案頭部資訊
- 列出並排序檔案系統根目錄(/)下各個目錄的大小排序
- Lnmp 網站根目錄檔案許可權LNMP網站
- Scrapy:根據目錄來下載github上的檔案Github
- pycharm如何檢視python檔案的工作目錄PyCharmPython
- nodejs獲取檔案資訊,判斷是檔案或目錄NodeJS
- webloginc配置專案根目錄Web
- Linux中如何檢視目錄下的檔案大小?Linux
- Linux檢視當前目錄下的檔案大小Linux
- 關於onethink 目錄,檔案讀寫檢測函式中的問題函式
- 如何在 Laravel 裡直接輸出根目錄下的 HTML 檔案LaravelHTML
- [20180707]刪除結尾帶.的檔案與目錄.txt
- 根據輸入的excel檔案地址讀取圖片名稱,遞迴匹配特定目錄下的圖片資訊並整理到指定的目錄下Excel遞迴
- nginx配置web訪問以及檢視目錄檔案NginxWeb
- 配置vuter的根目錄
- Linux 只複製目錄,不復制目錄下的資料檔案Linux
- idea檔案頭資訊設定Idea
- Python 檔案、目錄操作Python
- Linux 檔案與目錄Linux
- 不帶Anchors和NMS的目標檢測
- wamp修改根目錄
- 8.var目錄下的檔案和目錄詳解
- VUE - 配置根目錄(用@代表src目錄)Vue
- 利用VS(Visual Studio)自帶的工具檢視DLL檔案相關資訊
- Centos下檢視當前目錄大小及檔案個數CentOS
- php檔案操作之提取檔案/目錄的名稱PHP
- 設定儲存檔案的目錄
- 遍歷目錄下的所有檔案
- windows 把指定目錄的檔案複製到當前目錄Windows
- Linux檔案系統、目錄Linux
- Linux檔案和目錄管理Linux
- Linux檔案及目錄管理Linux
- i.MX6ULL終結者Linux檔案系統的構建根檔案系統目錄介紹Linux
- gitignore 忽略目錄下檔案僅保留目錄形態Git
- 隱藏任意程式,目錄檔案,登錄檔,埠
- SAP中如何檢視BOM的修改記錄呢?
- Linux的檔案屬性和目錄配置Linux