عندما يتعلق الأمر باكتشاف متصفح المستخدم في PHP، الاختيار بين استخدام $_SERVER ['HTTP_USER_AGENT'] وتظهر وظيفة get_browser. ولكل أسلوب مزاياه وعيوبه.
$_SERVER['HTTP_USER_AGENT'] يوفر سلسلة وكيل المستخدم الأولية، والتي تحتوي على معلومات حول المتصفح ونظام التشغيل والتفاصيل الأخرى الخاصة بالعميل. هذه الطريقة مدعومة على نطاق واسع وتوفر مجموعة بيانات شاملة لاكتشاف المتصفحات. ومع ذلك، من المهم ملاحظة أن وكلاء المستخدم يمكن تزييفهم أو تعديلهم، مما قد يؤدي إلى نتائج غير دقيقة.
من ناحية أخرى، get_browser هي وظيفة PHP مضمنة تقوم بتحليل سلسلة وكيل المستخدم وإرجاع مجموعة تحتوي على معلومات خاصة بالمتصفح. وهو مصمم لتسهيل عملية تحديد واستخراج سمات متصفح معينة. ومع ذلك، يعتمد get_browser على مجموعة بيانات مجمعة مسبقًا، والتي قد لا تكون دائمًا محدثة أو دقيقة لجميع وكلاء المستخدم، وخاصة للمتصفحات الناشئة أو الأقل شيوعًا.
أثناء استخدام $_SERVER['HTTP_USER_AGENT'] للإخراج ذي الصلة قد تبدو روابط CSS واضحة ومباشرة، إلا أنها لا تعتبر من أفضل الممارسات. يمكن أن تختلف وكلاء مستخدم المتصفح بشكل كبير وقد تحتوي على عناصر غير متوقعة. على سبيل المثال، قد تحتوي الإصدارات الحديثة من Internet Explorer على "Mozilla" في سلاسل وكيل المستخدم الخاصة بها، كما هو موضح في التحديث المقدم.
لضمان استهداف CSS موثوق به، يوصى باستخدام استعلامات الوسائط أو اكتشاف ميزات CSS بدلاً من ذلك. الاعتماد فقط على سلاسل وكيل المستخدم.
يوفر مقتطف التعليمات البرمجية التالي طريقة أكثر شمولاً وموثوقية لاكتشاف المتصفح باستخدام $_SERVER['HTTP_USER_AGENT']:
if (stripos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
echo 'Internet Explorer';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== FALSE) { // For supporting IE 11
echo 'Internet Explorer';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Firefox') !== FALSE) {
echo 'Mozilla Firefox';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== FALSE) {
echo 'Google Chrome';
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== FALSE) {
echo "Opera Mini";
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== FALSE) {
echo "Opera";
} elseif (stripos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== FALSE) {
echo "Safari";
} else {
echo 'Something else';
}
يتحقق هذا المقتطف من كلمات رئيسية محددة ضمن سلسلة وكيل المستخدم لتحديد المتصفحات الشائعة. وهو يغطي المتصفحات الشائعة مثل Internet Explorer وFirefox وChrome وOpera وSafari، ويتعامل مع الفروق الدقيقة مثل وضع توافق Internet Explorer مع "Trident" ووكيل المستخدم المتميز لـ Opera Mini. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3