Skip to content

Instantly share code, notes, and snippets.

@dnikonov
Last active August 29, 2015 13:56
Show Gist options
  • Save dnikonov/9234712 to your computer and use it in GitHub Desktop.
Save dnikonov/9234712 to your computer and use it in GitHub Desktop.
Скрипт ищет файлы, сохраненные с BOM.
<?
/**
*
* Скрипт ищет файлы, сохраненные с BOM.
*
* Использование:
* 1. залить на сервер в корневую директорию сайта
* 2. в адресной строке браузера набрать http://ваш.сайт/bom.php
*
* Для увеличения скорости работы проверяются только те директории,
* в которые обычно пользователи кладут свои файлы.
*
*/
$types = array("php", "tpl", "css", "js");
$exclude = array(
"libs",
"plugins",
"plugins",
"templates_c"
);
xdir($_SERVER["DOCUMENT_ROOT"].'/engine', 1);
xdir($_SERVER["DOCUMENT_ROOT"].'/manage', 1);
xdir($_SERVER["DOCUMENT_ROOT"].'/themes', 1);
function xdir($path, $recurs) {
global $find, $types, $exclude;
if ($dir = @opendir($path)) {
while ($file = readdir($dir)) {
if ($file == '.' or $file == '..') continue;
$file = $path.'/'.$file;
if (is_dir($file) && $recurs && !in_array(pathinfo($file, PATHINFO_BASENAME), $exclude)) {
xdir($file, 1);
} else {
$type = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (in_array($type, $types)) {
$f = fopen($file, 'r');
$t = fread($f, 3);
if ($t == "\xEF\xBB\xBF") {
$find = 1;
echo $file."<br />";
}
fclose($f);
}
}
}
closedir($dir);
}
}
if ($find == 0) echo "All clear";
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment