Heim >Backend-Entwicklung >PHP-Problem >So entfernen Sie BOM-Header stapelweise in PHP
So entfernen Sie Stücklistenköpfe in PHP: [
Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP7, Thinkpad T480-Computer
Während des eigentlichen Entwicklungsprozesses stoßen wir häufig auf Stücklistenheader um normal zu laufen.
Also, wie lösen wir dieses Problem? Es ist nicht schwierig, einen Blick auf den Implementierungscode zu werfen:
去除BOM头解决方法: <?php ini_set('memory_limit','1024M'); 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) { // BOM 的前三个字符的ASCII 码分别为 239 187 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 ); } $auto=1; $dir='D:/web/';//项目文件路径 checkDir($dir); ?>
Empfohlenes Lernen: php-Training
Das obige ist der detaillierte Inhalt vonSo entfernen Sie BOM-Header stapelweise in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!