PHP批量檢測并去除文件BOM頭代碼實例
如下代碼為PHP方式去除當前目錄及子目錄所有文件BOM信息的代碼,新建文件,將其放倒根目錄下,然后瀏覽器訪問即可。
<?php
if (isset($_GET['dir'])) { //設(shè)置文件目錄
$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);
}
?>
當然腳本小編為大家找到了一個軟件版本的檢測工具:下載地址 http://www.dhdzp.com/softs/496779.html
- php實現(xiàn)批量修改文件名稱的方法
- PHP chmod 函數(shù)與批量修改文件目錄權(quán)限
- 如何使用PHP批量去除文件UTF8 BOM信息
- PHP批量刪除、清除UTF-8文件BOM頭的代碼實例
- php中數(shù)據(jù)的批量導入(csv文件)
- php實現(xiàn)批量下載百度云盤文件例子分享
- php實現(xiàn)批量壓縮圖片文件大小的腳本
- php 批量生成html,txt文件的實現(xiàn)代碼
- php中批量替換文件名的實現(xiàn)代碼
- 批量去除PHP文件中bom的PHP代碼
- php中批量修改文件后綴名的函數(shù)代碼
- php實現(xiàn)文件編碼批量轉(zhuǎn)換
- PHP批量修改文件名稱的方法分析
相關(guān)文章
Zend Studio for Eclipse的java.lang.NullPointerException錯誤的解決方
Zend Studio for Eclipse 6.x 可以算得上是最好的PHP的IDE了.2008-12-12
探討如何使用SimpleXML函數(shù)來加載和解析XML文檔
本篇文章是對使用SimpleXML函數(shù)來加載和解析XML文檔進行了詳細的分析介紹,需要的朋友參考下2013-06-06
一個簡單的php加密解密函數(shù)(動態(tài)加密)
最近項目需要謝了一個簡單的php加密解密函數(shù),把代碼貼出來 有什么不足的 大家指正2013-06-06
php中用socket模擬http中post或者get提交數(shù)據(jù)的示例代碼
以下是對php中用socket模擬http中post或者get提交數(shù)據(jù)的示例代碼進行了介紹,需要的朋友可以過來參考下2013-08-08
php實現(xiàn)按照權(quán)重隨機排序數(shù)據(jù)的方法
這篇文章主要介紹了php實現(xiàn)按照權(quán)重隨機排序數(shù)據(jù)的方法,是php數(shù)據(jù)排序中一個比較典型的應(yīng)用技巧,需要的朋友可以參考下2015-01-01
javascript數(shù)組與php數(shù)組的地址傳遞及值傳遞用法實例
這篇文章主要介紹了javascript數(shù)組與php數(shù)組的地址傳遞及值傳遞用法,實例分析了javascript與php的數(shù)組使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-01-01
PHP中echo,print_r與var_dump區(qū)別分析
這篇文章主要介紹了PHP中echo,print_r與var_dump區(qū)別分析,主要講述了三者的類型本質(zhì)及其操作數(shù)據(jù)類型的用法區(qū)別,非常具有實用價值,需要的朋友可以參考下2014-09-09
php的instanceof和判斷閉包Closure操作示例
這篇文章主要介紹了php的instanceof和判斷閉包Closure操作,結(jié)合實例形式分析了PHP使用instanceof判斷類實例以及判斷閉包Closure相關(guān)操作技巧,需要的朋友可以參考下2020-01-01

