niedziela, 17 marca 2013

UTF-8 BOM - jak sie dziadostwa pozbyć, rekursywnie w PHP

 Znalezione gdzieś na sieci:


<?php

    function scanDirectories($rootDir, $allData=array()) {
        $invisibleFileNames = array(".", "..", ".htaccess", ".htpasswd");
        $dirContent = scandir($rootDir);
        foreach($dirContent as $key => $content) {
            $path = $rootDir.'/'.$content;
            if(!in_array($content, $invisibleFileNames)) {
                if(is_file($path) && is_readable($path)) {
                    $allData[] = $path;
                }elseif(is_dir($path) && is_readable($path)) {
                    $allData = scanDirectories($path, $allData);
                }
            }
        }
        return $allData;
    }


    function remove_utf8_bom($text) {
        $bom = pack('H*','EFBBBF');
        $text = preg_replace("/^$bom/", '', $text);
        return $text;
    }


    $dirlist = scanDirectories('.');
    $c = count ($dirlist);

    for ($i=0; $i<$c; $i++) {
        echo $dirlist[$i].'<br/>';
        $res = remove_utf8_bom(file_get_contents($dirlist[$i]));
        file_put_contents($dirlist[$i], $res);
    }

?>

Brak komentarzy:

Prześlij komentarz