The thinkphp verification code is mostly a fault caused by bom. The following is the code for expelling bom: & lt ;? Phpif (isset ($ _ GET [& amp; #39; dir & amp; #39;]) {// sets the file directory $ basedir $ _ GET [& amp; #39; d...
The thinkphp verification code is mostly a fault caused by bom. The following is the code for expelling bom:
-
- If (isset ($ _ GET ['dir']) {// sets the file directory
- $ Basedir = $ _ GET ['dir'];
- } Else {
- $ Basedir = '.';
- }
- $ Auto = 1;
- Checkdir ($ basedir );
- 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 ")."
";
- } 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) {
- If ($ auto = 1 ){
- $ Rest = substr ($ contents, 3 );
- Rewrite ($ filename, $ rest );
- Return ("BOM found, automatically removed. _ http://www.phpfensi.com ");
- } Else {
- Return ("BOM found .");
- }
- }
- Else return ("BOM Not Found .");
- }
- Function rewrite ($ filename, $ data ){
- $ Filenum = fopen ($ filename, "w ");
- Flock ($ filenum, LOCK_EX );
- Fwrite ($ filenum, $ data );
- Fclose ($ filenum );
- }
- ?>