Heim > Backend-Entwicklung > PHP-Tutorial > PHP sucht nach Dateien mit Stücklisten-Tags und entfernt diese

PHP sucht nach Dateien mit Stücklisten-Tags und entfernt diese

高洛峰
Freigeben: 2016-10-21 10:25:16
Original
1394 Leute haben es durchsucht

In einem sehr großen Projekt ist es für uns schwierig herauszufinden, welche Datei das BOM-Tag enthält. Wenn wir jede Datei manuell öffnen, um sie zu überprüfen, wird dies viel Zeit in Anspruch nehmen Problem, wir können direkt über das PHP-Programm herausfinden, ob alle Dateien im aktuellen Projekt oder Verzeichnis dieses BOM-Tag enthalten.

Der Code lautet wie folgt:

<?
//此文件用于快速测试UTF8编码的文件是不是加了BOM,并可自动移除
//By Bob Shen
  
$basedir="."; //修改此行为需要检测的目录,点表示当前目录
$auto=1; //是否自动移除发现的BOM信息。1为是,0为否。
  
//以下不用改动
  
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file!=&#39;.&#39; && $file!=&#39;..&#39; && !is_dir($basedir."/".$file)) echo "filename: $file ".checkBOM("$basedir/$file")." <br>";
}
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);
}
Nach dem Login kopieren

Tatsächlich wurden diese Codes von mir im Internet geteilt. Da ich in dieser Zeit ziemlich beschäftigt bin, habe ich keine Zeit dafür Ich kann den Code derzeit nur überprüfen. Für Dateien mit Stücklisten-Tags im aktuellen Verzeichnis können Sie auch selbst Funktionen hinzufügen, z. B.

, um alle Dateien in Unterverzeichnissen unter dem aktuellen Projekt automatisch zu erkennen.

Sie können auch Dateien in einem bestimmten Verzeichnis auswählen


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage