PHP untuk Mendeteksi Mobile Browser

Kuliah Pemrograman web dapat tugas membuat sebuah web PHP yang bisa mendeteksi jenis browser yang digunakan, salah satunya adalah mobile browser. Jadi ceritanya, Webnya nanti bisa memunculkan pesan, browser jenis apakah yang dipakai untuk membuka atau me-request ke server web kita tersebut.

Setelah blogwalking, ketemu referensi dari web ini -> http://www.istanto.wordpress.com

Kira-kira isinya seperti dibawah ini. Biar informasinya tidak mis, saya copy saja semuanya :

———————

Bagi pengguna CMS pada umumnya seperti misalnya WordPress, PHP Nuke, PHP BB, Joomla, Drupal, vBulletin dan lain lain bisa menggunakan plugin salah satunya adalah mobilepress untuk wordpress, tidak perlu ribet cukup konfigurasi. Namun bagaimana kalau kita tidak menggunakan CMS tapi memerlukan mobile web ini seperti misalnya detik.com

Dengan menggunakan sedikit trik pemrograman PHP kita bisa mendeteksi jenis browser yang melakukan request ke server kita. Berikut ini adalah kode Functionnya:


$isMobile = false;
$isBot = false;

$op = strtolower($_SERVER
[‘HTTP_X_OPERAMINI_PHONE’]);
$ua = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
$ac = strtolower($_SERVER[‘HTTP_ACCEPT’]);
$ip = $_SERVER[‘REMOTE_ADDR’];

$isMobile = strpos($ac,
‘application/vnd.wap.xhtml+xml’) !== false
|| $op != ”
|| strpos($ua, ‘sony’) !== false
|| strpos($ua, ‘symbian’) !== false
|| strpos($ua, ‘nokia’) !== false
|| strpos($ua, ‘samsung’) !== false
|| strpos($ua, ‘mobile’) !== false
|| strpos($ua, ‘windows ce’) !== false
|| strpos($ua, ‘epoc’) !== false
|| strpos($ua, ‘opera mini’) !== false
|| strpos($ua, ‘nitro’) !== false
|| strpos($ua, ‘j2me’) !== false
|| strpos($ua, ‘midp-’) !== false
|| strpos($ua, ‘cldc-’) !== false
|| strpos($ua, ‘netfront’) !== false
|| strpos($ua, ‘mot’) !== false
|| strpos($ua, ‘up.browser’) !== false
|| strpos($ua, ‘up.link’) !== false
|| strpos($ua, ‘audiovox’) !== false
|| strpos($ua, ‘blackberry’) !== false
|| strpos($ua, ‘ericsson,’) !== false
|| strpos($ua, ‘panasonic’) !== false
|| strpos($ua, ‘philips’) !== false
|| strpos($ua, ‘sanyo’) !== false
|| strpos($ua, ‘sharp’) !== false
|| strpos($ua, ‘sie-’) !== false
|| strpos($ua, ‘portalmmm’) !== false
|| strpos($ua, ‘blazer’) !== false
|| strpos($ua, ‘avantgo’) !== false
|| strpos($ua, ‘danger’) !== false
|| strpos($ua, ‘palm’) !== false
|| strpos($ua, ‘series60′) !== false
|| strpos($ua, ‘palmsource’) !== false
|| strpos($ua, ‘pocketpc’) !== false
|| strpos($ua, ‘smartphone’) !== false
|| strpos($ua, ‘rover’) !== false
|| strpos($ua, ‘ipaq’) !== false
|| strpos($ua, ‘au-mic,’) !== false
|| strpos($ua, ‘alcatel’) !== false
|| strpos($ua, ‘ericy’) !== false
|| strpos($ua, ‘up.link’) !== false
|| strpos($ua, ‘vodafone/’) !== false
|| strpos($ua, ‘wap1.’) !== false
|| strpos($ua, ‘wap2.’) !== false;

$isBot = $ip == ’66.249.65.39′
|| strpos($ua, ‘googlebot’) !== false
|| strpos($ua, ‘mediapartners’) !== false
|| strpos($ua, ‘yahooysmcm’) !== false
|| strpos($ua, ‘baiduspider’) !== false
|| strpos($ua, ‘msnbot’) !== false
|| strpos($ua, ‘slurp’) !== false
|| strpos($ua, ‘ask’) !== false
|| strpos($ua, ‘teoma’) !== false
|| strpos($ua, ‘spider’) !== false
|| strpos($ua, ‘heritrix’) !== false
|| strpos($ua, ‘attentio’) !== false
|| strpos($ua, ‘twiceler’) !== false
|| strpos($ua, ‘irlbot’) !== false
|| strpos($ua, ‘fast crawler’) !== false
|| strpos($ua, ‘fastmobilecrawl’) !== false
|| strpos($ua, ‘jumpbot’) !== false
|| strpos($ua, ‘googlebot-mobile’) !== false
|| strpos($ua, ‘yahooseeker’) !== false
|| strpos($ua, ‘motionbot’) !== false
|| strpos($ua, ‘mediobot’) !== false
|| strpos($ua, ‘chtml generic’) !== false
|| strpos($ua, ‘nokia6230i/. fast crawler’) !== false;

Ini adalah function dasar yang digunakan untuk mengenal macam-macam mobile browser sehingga memudahkan kita dalam pengembangannya. Kalau ada jenis mobile browser yang baru bisa kalian tambahkan sendiri dalam kode function.

Mobile browser mengenal file dengan extensi PHP (namun tidak semua, mungkin untuk handphone yang benar-benar jadul tidak mengenal).

Standard-nya root folder dari sebuah website adalah file index dengan extensi bermacam-macam, bisa html php dan lainnya. Kita bisa memanfaatkan ini sebagai pintu masuk sekaligus dengan fungsi deteksi diatas kita akan memilih ke arah mana pengunjung akan kita arahkan dengan PHP if. Contoh mudahnya seperti dibawah ini:

if($isMobile){
header(‘Location: http://mobile.web.kita’ .
urlencode($_SERVER['HTTP_HOST'] .
$_SERVER['REQUEST_URI']));
exit();
}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s