Auto-browser Detection with PHP

google เจอมาจากเว็บไซต์ iphoneappr.com

- - - - -
$browser = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
if ($browser === true) { echo "Hello iPhone!"; }
- - - - -

อธิบาย:
* $_SERVER['HTTP_USER_AGENT'] = เรียกข้อมูลคุณสมบัติของเบราเซอร์ ตัวอย่างเช่น Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3
* stripos() = เช็คว่าในข้อมูลที่ได้มีคำว่า iPhone อยู่ในประโยคที่ต้องการหาหรือไม่
* if ($browser === true) ถ้ากระบวนการใน บรรทัดบนเป็นจริง (true) ให้ทำงานในวงเล็บข้างหลัง
* สามารเปลี่ยน iPhone เป็น Macintosh, Firefox, MSIE 6.0, MSIE 7.0 หรือ keyword อื่นๆ ได้ตามต้องการ



Comments

the DtTvB

การใช้ Browser Detection ดีอย่างครับ คือสามารถแยกแยะได้ว่าใช้อะไรเข้าครับ

ถ้าหากว่าเซอร์เวอร์ที่โฮสต์มี Browscap หล่ะก็.. สามารถใช้ฟังก์ชั่น get_browser ได้ครับ

ตัวนี้ดีมากๆ ครับ เพราะว่าสามารถบอกได้เลยว่าใช้ Operating System อะไร Browser อะไร และเวอร์ชั่นอะไร โดยออกมาเป็น Array ครับ

http://php.net/get_browser

ถ้าหากเซอร์เวอร์ไม่สนับสนุน ก็สามารถใช้ http://garetjax.info/projects/browscap/

แต่ไม่แนะนำให้ใช้ Browser Detection กับ JavaScript นะครับ

Off Topic:

ยกตัวอย่างเช่นเราทำฟังก์ชั่นเพื่อให้แก้ Transparency ของ Element ตัวหนึ่งใน JavaScript

บางคนก็จะเขียนแบบนี้

if (ie) element.style.filter = 'alpha(opacity=70)';
else if (firefox) element.style.MozOpacity = 0.7;
else element.style.opacity = 0.7;

แต่วิธีที่ดีกว่าน่าจะทำแบบนี้ครับ

if (element.style.filter != undefined) element.style.filter = 'alpha(opacity=70)';
else if (element.style.MozOpacity != undefined) element.style.MozOpacity = 0.7;
else element.style.opacity = 0.7;

จะเห็นว่าควรจะดูว่าเบราเซอร์สามารถทำอะไรได้บ้างครับ

Poakpong

โอ้ว... ความรู้ใหม่ get_browser เรียกใช้ง่ายกว่าที่ผมโพสต์เอาไว้อีก เดี๋ยวต้องลองดูครับ :)