PHP 清除BOM
~~~
<?php
//把該文件放到WEB根目錄下,運行一次可以清除當前目錄及所有子目錄中所有文件的BOM Header。
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);
}
?>
~~~
- 腦袋緩存
- 微信框架
- 案例展示
- 網絡營銷術語
- 打印控件
- 邏輯值交換律
- 常用網址
- 開發文檔類
- W3C
- PHP
- 算法
- RSA非對稱加密算法
- DES對稱加密算法
- SHA安全散列算法
- AES加密
- 跌了n倍再漲m倍回到原價
- 多條數據同時排序算法1
- 多條數據同時排序算法2
- 工具
- 視頻工具
- 音頻工具
- 電子書閱讀器
- PHP學習筆記
- 函數
- 文件系統函數
- 搜索函數
- 時間函數
- 獲取當前時間
- 變量處理函數
- 獲取所有已定義變量
- 文本函數
- 文本替換
- ASSIC轉換
- 文本截取
- 大小寫轉換
- 二進制比較字符串
- 數組函數
- 定義數組
- 數組變量導入符號表
- 數組排序
- 數組與字符串轉換
- 數學函數
- 進制轉換
- 配置常用項
- 短標記
- PHP內置WebServer
- 數據庫擴展
- 抽象層PDO
- 連接管理
- 執行SQL命令
- 預處理
- MYSQL擴展
- 連接管理
- 選擇數據庫
- 清除BOM
- bashShell筆記
- vim基礎
- 常用指令
- 用戶操作
- 網絡配置
- 文件權限
- Markdown筆記
- 編輯器&閱讀器
- 看云
- mackpad
- 語法
- 轉義字符
- git學習筆記
- 常用命令
- 基本命令
- 遠程命令
- 創建倉庫
- 修改配置
- 存檔工作區
- WEB服務器
- 服務器技術的發展
- rewrite
- Go語言
- 在線開發環境
- bootstrap學習筆記
- 布局柵格
- CSS學習筆記
- 圓角
- 強制不換行
- 帶透明度的顏色值rbga
- 漸變動畫
- 滾動條控制
- 漸變過渡
- 透明度
- 背景漸變
- MYSQL筆記
- 字段類型
- SQL命令
- 用戶管理-權限
- 重載用戶權限
- 修復表格
- 優化表格
- 替換
- 編輯字段
- 庫表的基本操作
- 環境變量
- 連表刪除
- HybridApp
- 開發框架
- 即時通訊架構
- 網易云信
- 消息推送
- 消息推送協議
- 第三方消息推送方案
- javascript
- json與字符串互解析
- 大小寫轉換
- jQuery序列化表單
- 判斷是否移動端
- 獲取url中的參數
- 獲取格式化的日期
- jQuery操作checked
- js實現繼承
- 難點講解
- json排序
- 特殊算法
- cookie操作
- 原生的touch事件
- HTML
- 視頻標簽
- zyMedia視頻插件
- 百度地圖URI
- DEDE織夢筆記
- 水印無效
- 支付
- nodejs
- 常用命令
- NPM