>백엔드 개발 >PHP 튜토리얼 >올바른 페이지를 제공하기 위해 PHP에서 브라우저 언어를 안정적으로 감지하려면 어떻게 해야 합니까?

올바른 페이지를 제공하기 위해 PHP에서 브라우저 언어를 안정적으로 감지하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-09 09:44:06381검색

How Can I Reliably Detect Browser Language in PHP to Serve the Correct Page?

강력해진 PHP의 브라우저 언어 감지

PHP 스크립트에 브라우저 언어에 따라 적절한 페이지를 자동으로 포함하려고 시도했습니다. 그러나 특정 브라우저에서는 스크립트가 불안정하여 "index_en.php" 페이지가 지속적으로 표시됩니다. 이 문제를 해결하고 솔루션의 안정성을 높이려면 다음 개선 사항 구현을 고려하십시오.

$GLOBALS[$Var]가 이미 설정되었을 수 있는 환경을 처리하도록 lixlpixel_get_env_var($Var)를 수정해야 합니다.

strpos를 사용하여 허용되는 언어를 반복적으로 검색하는 대신 HTTP_ACCEPT_LANGUAGE 헤더를 배열로 구문 분석하고 일치합니다.

하드 코딩된 배열에 의존하는 대신 데이터베이스나 기타 구조화된 데이터 소스에 사용 가능한 언어를 저장하는 것이 좋습니다.

언어 우선 순위 목록 또는 언어 선택 페이지로 리디렉션됩니다.

간체 대안

더 간단한 접근 방식을 위해 다음 스크립트를 활용할 수 있습니다.

    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $acceptLang = ['fr', 'it', 'en']; 
    $lang = in_array($lang, $acceptLang) ? $lang : 'en';
    require_once "index_{$lang}.php"; 

이 스크립트는 HTTP_ACCEPT_LANGUAGE 헤더를 사용하여 브라우저의 언어를 감지하고 해당 항목을 로드하는 의도된 기능을 유지합니다. "index_xx.php" 페이지. 이는 PHP의 기본 substr 함수를 사용하여 언어 코드의 처음 두 문자를 추출합니다. $acceptLang 배열은 허용되는 언어를 정의합니다. 감지된 언어가 배열의 언어와 일치하면 해당 언어가 사용됩니다. 그렇지 않으면 'en'이 기본값으로 간주됩니다. require_once 문에는 감지된 언어에 따라 적절한 "index_xx.php" 파일이 포함되어 있습니다.

위 내용은 올바른 페이지를 제공하기 위해 PHP에서 브라우저 언어를 안정적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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