Сканер Bom сигнатуры в php файлах хостинга
- <?php
- $dir = dirname(__FILE__);
- function recursive_dir($dir) {
- $arr = realpath($dir);
- foreach (new DirectoryIterator($dir) as $fileInfo) {
- if($fileInfo->isDot()) continue;
- if ($fileInfo->isDir()) {
- $arr .= '|' . recursive_dir($fileInfo->getPathname());
- $arr .= '|' . $fileInfo->getPathname();
- } elseif ($fileInfo->isFile()) {
- $arr .= '|' . $fileInfo->getPathname();
- }
- }
- return explode('|', $arr);
- }
- $x=0;
- $arr = recursive_dir($dir);
- if (is_array($arr)) {
- foreach ($arr as $k => $v) {
- if (is_file(trim($arr[$k]))) {
- if (end(explode('.', trim($arr[$k])))=='php') { // or end(explode('.', trim($arr[$k])))=='sql'
- $char = "\xEF\xBB\xBF";
- $file = new SplFileObject($arr[$k]);
- $file->setMaxLineLen(4);
- $data = $file->fgets();
- if ($char === $data) {
- echo '<div>Обнаружен BOM в файле ' . $arr[$k] . '</div>';
- $x=1;
- }
- $file->fseek(0);
- }
- }
- }
- }
- if ($x!=1) {
- echo '<div>Файлы с BOM не обнаружены</div>';
- }
- ?>
Поможет найти файлы с косяком при сохранении, очень должен помочь начинающим. Вырвал со своего ФМ. Может когда то сделаю его независимым, и назову CMS Ґґ. Пользуйтесь