Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengesan Bahasa Penyemak Imbas dengan Amanah dalam PHP untuk Melayan Halaman yang Betul?

Bagaimanakah Saya Boleh Mengesan Bahasa Penyemak Imbas dengan Amanah dalam PHP untuk Melayan Halaman yang Betul?

Barbara Streisand
Lepaskan: 2024-12-09 09:44:06
asal
387 orang telah melayarinya

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

Kesan Bahasa Penyemak Imbas dalam PHP Made Robust

Anda telah cuba memasukkan halaman yang sesuai secara automatik berdasarkan bahasa penyemak imbas dalam skrip PHP anda. Walau bagaimanapun, skrip goyah dengan pelayar tertentu, secara konsisten memaparkan halaman "index_en.php". Untuk menangani isu ini dan meningkatkan kebolehpercayaan penyelesaian anda, pertimbangkan untuk melaksanakan penambahbaikan berikut:

lixlpixel_get_env_var($Var) harus diubah suai untuk mengendalikan persekitaran yang $GLOBALS[$Var] mungkin sudah ditetapkan.

Daripada mencari secara berulang untuk bahasa yang diterima menggunakan strpos, huraikan HTTP_ACCEPT_LANGUAGE kepala ke dalam tatasusunan dan semak padanan.

Pertimbangkan untuk menyimpan bahasa anda yang tersedia dalam pangkalan data atau sumber data berstruktur lain dan bukannya bergantung pada tatasusunan berkod keras.

Laksanakan sandaran yang lebih mantap mekanisme yang merangkumi senarai keutamaan bahasa atau mengubah hala ke halaman pemilihan bahasa.

A Ringkas Alternatif

Untuk pendekatan yang lebih mudah, anda boleh menggunakan skrip berikut:

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

Skrip ini mengekalkan fungsi yang dimaksudkan untuk mengesan bahasa penyemak imbas menggunakan pengepala HTTP_ACCEPT_LANGUAGE dan memuatkan yang sepadan halaman "index_xx.php". Ia menggunakan fungsi substr asli PHP untuk mengekstrak dua aksara pertama kod bahasa. Tatasusunan $acceptLang mentakrifkan bahasa yang diterima. Jika bahasa yang dikesan sepadan dengan satu dalam tatasusunan, ia digunakan; jika tidak, 'en' diandaikan sebagai lalai. Pernyataan require_once termasuk fail "index_xx.php" yang sesuai berdasarkan bahasa yang dikesan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Bahasa Penyemak Imbas dengan Amanah dalam PHP untuk Melayan Halaman yang Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan