Advertisemen
Facebook and Google have their own mobile optimized site like this : https://www.m.facebook.com, https://www.m.youtube.com so if you open Facebook in mobile browser, it redirects you to mobile optimized Facebook site.
In this tutorial, we are going to take a look at how to redirecting mobile browsers to a mobile optimized site in PHP.
Ok go ahead and create an empty php file and add this line of codes.
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
echo $ua;
?>
$ua = $_SERVER['HTTP_USER_AGENT'];
echo $ua;
?>
Now if you refresh your browser, you should see something like this, if you are in mac :
Moving on add this function to the existing codes :
Moving on add this function to the existing codes :
function ismobilebrowser($ua)
{
$match = preg_match('/(android|bb\d+|meego).+mobile|
avantgo|bada\/|blackberry|blazer|compal|elaine|
fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|
lge |maemo|midp|mmp|mobile.+firefox|netfront|
opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|
plucker|pocket|psp|series(4|6)0|symbian|treo|
up\.(browser|link)|vodafone|wap|windows ce|
xda|xiino/i',$ua)||preg_match('/1207|
6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|
abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|
amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|
attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|
bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|
c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|
co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|
dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|
em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|
fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|
go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|
hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|
tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|
ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|
ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|
klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|
50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|
mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|
mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|
mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|
n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|
nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|
pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|
pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|
qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|
raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|
sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|
sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|
so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|
t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|
t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|
utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|
voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|
webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|
zeto|zte\-/i',substr($ua,0,4));
return $match;
}
What this function is going to do is to check and match the user agent that we just output in our browser.
Next stop, add the following codes :
Thanks......
Next stop, add the following codes :
if (ismobilebrowser($ua))
{
//header('Location: http://www.m.xxxxxxx.com/');
echo "this is mobile browser";
}
else
{
echo "this is desktop browser";
}
This is going check if it is a mobile browser or not. For now we are just going to echo out some text but if you have a mobile site, you can uncomment the header function and add your mobile site.
Keep in mind whenever you use header() function, there are no output above it otherwise it won't work and you will come to me saying your code doesn't work.
Now, Your full php file should look like this :
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if (ismobilebrowser($ua))
{
//header('Location: http://www.m.xxxxxxx.com/');
echo "this is mobile browser";
}
else
{
echo "this is desktop browser";
}
function ismobilebrowser($ua)
{
$match = preg_match('/(android|bb\d+|meego).+mobile|
avantgo|bada\/|blackberry|blazer|compal|elaine|
fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|
lge |maemo|midp|mmp|mobile.+firefox|netfront|
opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|
plucker|pocket|psp|series(4|6)0|symbian|treo|
up\.(browser|link)|vodafone|wap|windows ce|
xda|xiino/i',$ua)||preg_match('/1207|
6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|
abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|
amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|
attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|
bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|
c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|
co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|
dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|
em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|
fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|
go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|
hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|
tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|
ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|
ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|
klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|
50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|
mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|
mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|
mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|
n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|
nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|
pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|
pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|
qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|
raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|
sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|
sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|
so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|
t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|
t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|
utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|
voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|
webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|
zeto|zte\-/i',substr($ua,0,4));
return $match;
}
?>
Advertisemen
Tidak ada komentar:
Posting Komentar