>백엔드 개발 >PHP 튜토리얼 >인증 코드를 열 때 잘못된 코드를 표시하는 ThinkPHP 솔루션 page_php 예제

인증 코드를 열 때 잘못된 코드를 표시하는 ThinkPHP 솔루션 page_php 예제

WBOY
WBOY원래의
2016-05-16 20:28:081241검색

이 기사의 예에서는 ThinkPHP에서 인증 코드 페이지를 열 때 잘못된 문자가 표시되는 문제에 대한 해결 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

thinkphp로 개발하다보면 인증코드가 왜곡되는 문제가 가끔 발생하는데, 해결방법은 아래 파일을 루트디렉토리에 넣어서 접근하여 해결하면 됩니다.

코드 복사 코드는 다음과 같습니다.
if (isset($_GET['dir'])){ //파일 디렉터리 설정
$basedir=$_GET['dir']
}그밖에{
$basedir = '.'
}
$자동 = 1
checkdir($basedir)

함수 checkdir($basedir){
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
If (!is_dir($basedir."/".$file)) {
echo "파일 이름: $basedir/$file ".checkBOM("$basedir/$file")."
"
}else{  
$dirname = $basedir."/".$file
        checkdir($dirname);                                    }  
}  
}  
닫힘($dh)
}
}
함수 checkBOM($filename) {

글로벌 $자동
$contents = file_get_contents($filename)
$charset[1] = 하위 문자열($contents, 0, 1)
$charset[2] = 하위 문자열($contents, 1, 1)
$charset[3] = 하위 문자열($contents, 2, 1)
if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
if ($auto == 1) {
$rest = substr($contents, 3)
다시 작성($filename, $rest)
Return("BOM을 찾았으며 자동으로 제거되었습니다."); } 다른 {
Return("BOM을 찾았습니다."); }  
}
그렇지 않으면 반환("BOM을 찾을 수 없습니다."); }
함수 재작성($filename, $data) {
$filenum = fopen($filename, "w")
무리($filenum, LOCK_EX)
fwrite($filenum, $data)
fclose($파일번호)
}
?>


이 기사가 ThinkPHP 프레임워크를 기반으로 하는 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.