函数代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
<?php /** * 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码 * @param string $filename */ function iconv_file( $filename , $input_encoding = 'gbk' , $output_encoding = 'utf-8' ) { if ( file_exists ( $filename )) { if ( is_dir ( $filename )) { foreach ( glob ( "$filename/*" ) as $key => $value ) { iconv_file( $value ); } } else { $contents_before = file_get_contents ( $filename ); /* $encoding = mb_detect_encoding( $contents_before , array ( 'CP936' , 'ASCII' , 'GBK' , 'GB2312' , 'UTF-8' )); echo $encoding ; if ( $encoding == 'UTF-8' ) mb_detect_encoding函数不工作 { return ; }*/ $contents_after = iconv( $input_encoding , $output_encoding , $contents_before ); file_put_contents ( $filename , $contents_after ); } } else { echo '参数错误' ; return false; } } iconv_file( './test' ); ?> |
注意:把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码