>  기사  >  백엔드 개발  >  PHP 파일 탐색 시 잘못된 문자 문제를 해결하는 방법

PHP 파일 탐색 시 잘못된 문자 문제를 해결하는 방법

藏色散人
藏色散人원래의
2020-08-15 09:50:332330검색

PHP에서 이동하는 잘못된 파일에 대한 해결 방법: 먼저 PHP 샘플 파일을 만든 다음 파일 인코딩을 "GBK"로 변경하고 마지막으로 "read_all" 메서드를 사용하여 폴더의 모든 파일을 이동합니다.

PHP 파일 탐색 시 잘못된 문자 문제를 해결하는 방법PHP Video Tutorial"

저는 최근 인터뷰를 보고 큰 충격을 받았습니다. 고향 허난으로 돌아와 1년 넘게 아기를 낳았는데 더 이상 키울 수 없다는 걸 깨달았습니다. IT 산업의 발전과 함께

면접 과정 많은 회사에서 필기시험 문제에 이 문제가 나오는 것을 발견했고, 업무에서도 자주 사용하는 기능이기도 합니다.

이건 케이크 아닌가요

<?php
/*
* 遍历文件夹下所有文件
*
* 作者:郭猛
* 邮箱:martin.guo@qq.com
*
*/

function read_all ($dir){
    if(!is_dir($dir)) return false;

    $handle = opendir($dir);

    if($handle){
        while(($fl = readdir($handle)) !== false){
            $temp = $dir.DIRECTORY_SEPARATOR.$fl;
            //如果不加  $fl!=&#39;.&#39; && $fl != &#39;..&#39;  则会造成把$dir的父级目录也读取出来
            if(is_dir($temp) && $fl!=&#39;.&#39; && $fl != &#39;..&#39;){
                echo &#39;目录:&#39;.$temp.&#39;<br>&#39;;
                read_all($temp);
            }else{
                if($fl!=&#39;.&#39; && $fl != &#39;..&#39;){

                    echo &#39;文件:&#39;.$temp.&#39;<br>&#39;;
                }
            }
        }
    }
}

read_all(&#39;D:\wamp\www\test&#39;);

?>

자신있게 브라우저를 열어보세요

PHP 파일 탐색 시 잘못된 문자 문제를 해결하는 방법저는 屮艸芔茻입니다. 대체 뭐죠! </p><p>Windows 환경에서는 파일 인코딩이 UTF8입니다. 디렉토리에 중국어 디렉토리가 있으면 문자가 깨져서 표시됩니다! ! </p><p>이때 내 파일 인코딩과 브라우저 표시 인코딩은 모두 utf-8입니다. Windows의 디렉터리 이름이 GBK인 줄 알고 iconv를 사용하여 인코딩 형식을 17번째 줄과 같이 변경했습니다. 아래: </p><pre class=<?php /* * 遍历文件夹下所有文件 * * 作者:郭猛 * 邮箱:martin.guo@qq.com * */ function read_all ($dir){ if(!is_dir($dir)) return false; $handle = opendir($dir); if($handle){ while(($fl = readdir($handle)) !== false){ $temp = iconv(&#39;GBK&#39;,&#39;utf-8&#39;,$dir.DIRECTORY_SEPARATOR.$fl);//转换成utf-8格式 //如果不加 $fl!=&#39;.&#39; && $fl != &#39;..&#39; 则会造成把$dir的父级目录也读取出来 if(is_dir($temp) && $fl!=&#39;.&#39; && $fl != &#39;..&#39;){ echo &#39;目录:&#39;.$temp.&#39;<br>&#39;; read_all($temp); }else{ if($fl!=&#39;.&#39; && $fl != &#39;..&#39;){ echo &#39;文件:&#39;.$temp.&#39;<br>&#39;; } } } } } read_all(&#39;D:\wamp\www\test&#39;); ?>

17번째 코드 줄에 iconv를 추가하면 이번에는 문제가 없을 것입니다

<?php $dir=&#39;D:\wamp\www\test\test_dir\子目录&#39;; var_dump(is_dir($dir)); ?>

utf8 인코딩 형식에서는 정말 안되네요

PHP 파일 탐색 시 잘못된 문자 문제를 해결하는 방법그냥 파일 인코딩을 GBK로 바꾸세요</p><p><img style=

위 내용은 PHP 파일 탐색 시 잘못된 문자 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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