PHPでBOMを削除


//BOMチョック
function check_bom($filename){
  $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){
          $rest=substr($contents,3);
          rewrite($filename,$rest);
          return (' <font color=red>BOMを削除しました</font>');


  }else{
      return (' BOMなし');
  }
}


//PHPでBOMを削除
function rewrite($filename,$data){
  $filenum=fopen($filename,'w');
  flock($filenum,LOCK_EX);
  fwrite($filenum,$data);
  fclose($filenum);
}

プログラムの解説

fopen

ファイルまたは URL をオープンする

flock

汎用のファイルロックを行う

fwrite

バイナリセーフなファイル書き込み処理

fclose

オープンされたファイルポインタをクローズする