แนวทางการตรวจสอบชนิดอุปกรณ์ที่เข้ามายังเว็บไซต์ของเราด้วย PHP

ไม่มีความคิดเห็น

การตรวจสอบอุปกรณ์ที่ผู้ใช้งาน หรือ User ใช้เข้ามายังเว็บไซต์ของเราจำเป็นอย่างยิ่งในยุคที่เราต้องแข่งขันกัน เพื่อเราจะได้เก็บข้อมูลความสนใจของผู้ใช้งาน และเก็บเป็นข้อมูลรายงานเพื่อปรับปรุงเว็บไซต์ของเราให้เหมาะสมกับอุปกรณ์ แต่ละขนาดหน้าจอที่มีความละเอียดไม่เท่ากัน โดยลำดับความสำคัญจากความสนใจนี้ได้ และนอกจากการใช้เพื่อเก็บเป็นข้อมูลรายงานแล้ว ในด้านของการเขียนโปรแกรมก็จำเป็นที่จะต้องใช้อย่างมาก ยกตัวอย่างหากเว็บไซต์ SiamHTTP มี 2 เวอร์ชั่น คือ เป็นเวอร์ชั่นสำหรับเครื่อง PC หรือ Notebook ซึ่งมีความละเอียดหน้าจอที่กว้าง กับเวอร์ชั่นสำหรับมือถือ หรือสมาร์ทโฟน เราก็จะทำการตรวจสอบอุปกรณ์ของ User ก่อนว่าใช้อุปกรณ์อะไรในการเข้ามายังเว็บไซต์ของเรา แล้วเขียนโปรแกรมเพื่อเปลี่ยนเส้นทาง URL หรือ Redirect ไปยังหน้าเว็บแอพพลิเคชั่นสำหรับแต่ละอุปกรณ์ที่เราได้เขียนโปรแกรมไว้แล้ว เท่านี้ก็หมดปัญหาสำหรับการแสดงผล ซึ่งเหมาะสำหรับคนที่ไม่ชอบเว็บไซต์แบบ Responsive เราก็จัดการแยกมันซะเลย @@

สร้างตัวแปร Array เก็บค่า ชนิดอุปกรณ์โดยใช้  "HTTP_USER_AGENT"

1
2
3
4
5
$devicesTypes = array(
"computer" => array("msie 10", "msie 9", "msie 8", "windows.*firefox", "windows.*chrome", "x11.*chrome", "x11.*firefox", "macintosh.*chrome", "macintosh.*firefox", "opera"),
"tablet"   => array("tablet", "android", "ipad", "tablet.*firefox"),
"mobile"   => array("mobile ", "android.*mobile", "iphone", "ipod", "opera mobi", "opera mini"),
"bot"      => array("googlebot", "mediapartners-google", "adsbot-google", "duckduckbot", "msnbot", "bingbot", "ask", "facebook", "yahoo", "addthis"));

สร้าง Function ไว้ตรวจสอบชนิดอุปกรณ์

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function detectDevice(){
$userAgent = $_SERVER["HTTP_USER_AGENT"];
$devicesTypes = array(
"computer" =--> array("msie 10", "msie 9", "msie 8", "windows.*firefox", "windows.*chrome", "x11.*chrome""x11.*firefox", "macintosh.*chrome", "macintosh.*firefox", "opera"),
"tablet"   => array("tablet", "android", "ipad", "tablet.*firefox"),
"mobile"   => array("mobile ", "android.*mobile", "iphone", "ipod", "opera mobi", "opera mini"),
"bot"      => array("googlebot", "mediapartners-google", "adsbot-google", "duckduckbot", "msnbot",   "bingbot", "ask", "facebook", "yahoo", "addthis"));
foreach($devicesTypes as $deviceType => $devices) {          
foreach($devices as $device) {
if(preg_match("/" . $device . "/i", $userAgent)) {
$deviceName = $deviceType;
}
}
}
return ucfirst($deviceName);
}
 
?>
 
 
Simple way to detect device type With PHP - wsnippets.com
 
 
class="wrap">
echo "Your are browsing in color:red">".detectDevice().'
';?>


ไม่มีความคิดเห็น :