Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

วิธีที่ง่ายที่สุดในการตรวจหาตำแหน่งที่ตั้งของไคลเอ็นต์ใน PHP


PHP มีฟังก์ชันที่เริ่มต้นจาก 5.3.0 เพื่อแยกวิเคราะห์ '$_SERVER['HTTP_ACCEPT_LANGUAGE ']' ตัวแปรเป็นภาษาท้องถิ่น -

ตัวอย่าง

$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;

ฟังก์ชัน '$_SERVER['HTTP_ACCEPT_LANGUAGE']' ช่วยตรวจหาสถานที่โดยใช้ภาษาของสถานที่ปัจจุบันเป็นพารามิเตอร์

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

en_US

เบราว์เซอร์ส่วนใหญ่ส่งส่วนหัว HTTP ของ Accept-Language ที่ระบุ en-us หากมาจากสหรัฐอเมริกา เบราว์เซอร์รุ่นเก่าบางรุ่นใช้ en เท่านั้น

ผู้ใช้ที่ใช้ภาษาอังกฤษ-สหราชอาณาจักรมักจะตั้งค่าระบบหรือตำแหน่งที่ตั้งของผู้ใช้เป็นภาษาอังกฤษ-สหราชอาณาจักร ซึ่งเป็นการกำหนดค่าเบราว์เซอร์เริ่มต้น ซึ่งจะส่งผลให้ en-gb เป็นส่วนหัวที่ยอมรับภาษา ประเทศอื่นๆ มีภาษาท้องถิ่น เช่น en-za (แอฟริกาใต้) เป็นต้น

การเดาตาม Geo-IP จะไม่ค่อยถูกต้องในภาษา/สถานที่ที่ต้องการ