Showing posts with label php problem solutions. Show all posts
Showing posts with label php problem solutions. Show all posts

Wednesday, 21 December 2016

What are special characters? and how to remove special characters?

What are special characters? and how to remove special characters?

Question: What are special characters?
Special characters are selected punctuation characters present on standard US keyboard.


Question: Provide list of special characters?
Character Name
Space
 ! Exclamation
" Double quote
# Number sign (hash)
$ Dollar sign
 % Percent
& Ampersand
' Single quote
( Left parenthesis
) Right parenthesis
* Asterisk
+ Plus
, Comma
- Minus
. Full stop
/ Slash
 : Colon
 ; Semicolon
< Less than
= Equal sign
> Greater than
 ? Question mark
@ At sign
[ Left bracket
\ Backslash
] Right bracket
^ Caret
_ Underscore
` Grave accent (backtick)
{ Left brace
| Vertical bar
} Right brace
~ Tilde



Question: How to remove special characters from string including space?
$string='test [email protected]#ing';
echo preg_replace('/[^A-Za-z0-9\-]/', '', $string);



Question: How to remove special characters from string except space?
$string='test [email protected]#ing';
echo preg_replace('/[^A-Za-z0-9\-\s]/', '', $string);



Question: How to replace special characters with hyphen?
$string='test [email protected]#ing';
echo preg_replace('/[^A-Za-z0-9\-\s]/', '-', $string);



Question: How to replace multiple hyphen with single hyphen?
$string='test-----ing';
echo preg_replace('/-+/', '-',$string);



Question: How to remove special characters from array?
$array=array('test [email protected]#ing','sdalkjsad','#$#33');
function cleanData($string){
return preg_replace('/[^A-Za-z0-9\-]/', '', $string);
}
$array = array_map('cleanData',$array);
print_r($array);



Question: How to remove all special characters from javascript?
var stringToReplace='test [email protected]#ing';
stringToReplace=stringToReplace.replace(/[^\w\s]/gi, '')


Monday, 12 December 2016

How to resize images in php

How to resize images in php - with code

Library Code
    
/**
 * 
 * @param type $width
 * @param type $height
 * @param type $mode
 * @param type $imageName
 * @param type $extension
 * @return string
 */
     function resizeImage($width, $height, $mode, $imageName,$extension) {
        $docRoot = getenv("DOCUMENT_ROOT");
        
        /* Get original image x y */
        $tmpNM = $_FILES['files']['tmp_name'];
        
        list($w, $h) = getimagesize($_FILES['files']['tmp_name']);
        /* calculate new image size with ratio */
        $ratio = max($width / $w, $height / $h);
        $h = ceil($height / $ratio);
        $x = ($w - $width / $ratio) / 2;
        $w = ceil($width / $ratio);
        /* new file name */
        if ($mode == 'userphoto') {
                $path = $docRoot . '/upload/userphoto/' . $imageName;
        } 
        
 
        /* read binary data from image file */
        $imgString = file_get_contents($_FILES['files']['tmp_name']);
        /* create image from string */
        $image = imagecreatefromstring($imgString);
        $tmp = imagecreatetruecolor($width, $height);
        imagecopyresampled($tmp, $image, 0, 0, $x, 0, $width, $height, $w, $h);
        $fileTypes = array('jpg', 'jpeg', 'jpe', 'png', 'bmp', 'gif'); // File extensions
        /* Save image */
        $extension = strtolower($extension);
        switch ($extension) {
            case 'jpg':
            case 'jpeg':
            case 'jpe':
                imagejpeg($tmp, $path, 100);
                break;
            case 'png':
                imagepng($tmp, $path,0);
                break;
            case 'gif':
                imagegif($tmp, $path, 100);
                break;
            case 'bmp':
                imagewbmp($tmp, $path);
                break;
            default:
                
                exit;
                break;
        }
        return $path;
        /* cleanup memory */
        imagedestroy($image);
       imagedestroy($tmp);
    }    
How to use Code
  
//List of thumbnails
$sizes = array(200 => 200, 150 => 150);

$files=array();
if (!empty($_FILES)) {
    //Clean the image name
    $_FILES['files']['name'] = preg_replace('/[^a-zA-Z0-9_.-]/', '', strtolower(trim($_FILES['files']['name'])));    
    
    //Temporary file, type, name
    $tmpNM = $_FILES['files']['tmp_name'];
    $imageType = $_FILES['files']['type'];
    $imageName = $_FILES['files']['name'];
    
    //Get image extension
    $imageNameType = explode(".", $_FILES['files']['name']);
    
    //Type of images support for uploading
    $fileMimeTypes = array('image/jpeg', 'image/png', 'image/bmp', 'image/gif'); // mime  extensions
    $fileTypes = array('jpg', 'jpeg', 'jpe', 'png', 'bmp', 'gif'); // File extensions
    
    if (in_array(strtolower($imageNameType[1]), $fileTypes)) {
        $fullImageName = time('his') . '_' . $_FILES['files']['name'];
        foreach ($sizes as $w => $h) {
            $files[] = $this->resize($w, $h, 'userphoto', "{$w}_{$fullImageName}", $imageNameType[1]);
        }

        //End :--save video file in s3 bucket                                                
    } 
}

Wednesday, 7 December 2016

How to Validate email address in PHP?


How to Validate email address in PHP?


Following are in built PHP function to validate the email address and Ip Address. See Examples below:
$email='[email protected]';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo $email. ' - Invalid'; 
}else{
echo $email. ' - Valid';     
}

[email protected] - Valid

$email='[email protected]';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo $email. '- Invalid'; 
}else{
echo $email. ' - Valid';     
}

[email protected] - Valid

$email='arunkumar.com';
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo $email. ' - Invalid'; 
}else{
echo $email. ' - Valid';     
}


arunkumar.com - Invalid



Question: How to Validate IP Address?
$ipAddress = '127.0.0.1';
if (!filter_var($ipAddress, FILTER_VALIDATE_IP)) {
    echo "$ipAddress is In-valid.";
}else{
    echo "$ipAddress is Valid.";
}

127.0.0.1 is Valid

$ipAddress = '127.test.0.0.1';
if (!filter_var($ipAddress, FILTER_VALIDATE_IP)) {
    echo "$ipAddress is In-valid.";
}else{
    echo "$ipAddress is In-Valid.";
}

127.test.0.0.1 is Valid

You must be using PHP>5.20

Thursday, 18 August 2016

How to get visitor location with JavaScript ?

How to get visitor location with JavaScript ?

Today there are lots Free/Paid API avaiable which give you client information.
Following are two example which give you client information like city, country, country code, ip, local date time, timezone etc with javascript.
Question: How to get visitor location javascript with freegeoip.net?
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready( function() {
   $.getJSON("http://freegeoip.net/json/", function(result){
       console.log(result);                        

       });
   });

Output
{  "ip": "112.196.3.177",
  "country_code": "IN",
  "country_name": "India",
  "region_code": "PB",
  "region_name": "Punjab",
  "city": "Mohali",
  "zip_code": "",
  "time_zone": "Asia/Kolkata",
  "latitude": 30.78,
  "longitude": 76.69,
  "metro_code": 0
}



Question: How to get visitor location javascript with ipinfo.io?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready( function() {
   $.getJSON('http://ipinfo.io', function(data){
    console.log(data)
  })
    }); 
</script>

Output
  {"ip": "112.196.3.177",
  "hostname": "No Hostname",
  "city": "Mohali",
  "region": "Punjab",
  "country": "IN",
  "loc": "30.7800,76.6900",
  "org": "AS17917 Quadrant Televentures Limited"
}



Wednesday, 10 August 2016

Twitter Bootstrap Interview Questions and Answers


Twitter Bootstrap Interview Questions and Answers

Question: How to make twitter bootstrap menu dropdown on hover rather than click?
ul.nav li.dropdown:hover > ul.dropdown-menu {
    display: block;    
}



Question: How can I make Bootstrap columns all the same height??
.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.row > [class*='col-'] {
  display: flex;
  flex-direction: column;
}



Question: What is sr-only in Bootstrap 3??
It is class used to hide information intended only for screen readers from the layout of the rendered page.


Question: How to disallow twitter bootstrap modal window from closing?
<a data-backdrop="static" data-controls-modal="my_div_id" data-keyboard="false" href="https://www.blogger.com/blogger.g?blogID=5911253879674558037#"></a>



Question: What are different 4 tiers in twitter bootstrap?
  1. Extra small devices like smartphones (.col-xs-*)
  2. Small devices like tablets(.col-sm-*)
  3. Medium devices like laptops (.col-md-*)
  4. large devices like laptops/desktops(.col-lg-*)



Question: How to use media queries in twitter bootstrap 3?
@media(max-width:767px){}
@media(min-width:768px){}
@media(min-width:992px){}
@media(min-width:1200px){}



Question: How to use media queries in twitter bootstrap 4?
@media(min-width:34em){}
@media(min-width:48em){}
@media(min-width:62em){}
@media(min-width:75em){}



Question: What is an em?
An em is a unit in the field of typography, One em is equal to the 16 point size.



Question: How to open a Bootstrap modal?
$('#myModalId').modal('toggle');
$('#myModalId').modal('show');
$('#myModalId').modal('hide');
 



Question: How to make responsive image with align center?
.img-responsive {
    margin: 0 auto;
}
 



Question: How to create Confirm box before deleting modal/dialog?
Add data-target="#confirm-delete-id" in A tag

<a data-href="/delete-rec?id=203" data-target="#confirm-delete-id" data-toggle="modal" href="https://www.blogger.com/blogger.g?blogID=5911253879674558037#">Delete record #203</a>
 

Add HTML for confirmation box
<div aria-hidden="true" aria-labelledby="myModalLabel" class="modal fade" id="confirm-delete-id" role="dialog" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button class="btn btn-default" data-dismiss="modal" type="button">Cancel</button>
                <a class="btn btn-danger btn-ok" href="https://www.blogger.com/null">Delete</a>
            </div>
</div>
</div>
</div>

 



Question: How to disabled the button?
$('#buttonId').prop('disabled', true);
 



Wednesday, 15 June 2016

How to convert image to base64 encoding?

How to convert image to base64 encoding?

Question: How to convert image to base64 encoding?
$path = 'http://4.bp.blogspot.com/-tWZZEnbGXzo/Vnzt0H7cS7I/AAAAAAAABFg/pCJF3dIRay0/s1600/Hosted%2BField%2BIntegration%2B-%2BBraintree.png';
$imageType = pathinfo($path, PATHINFO_EXTENSION);
$imageData = base64_encode(file_get_contents($path));
echo $binaryData = 'data:image/' . $imageType . ';base64,' . $imageData;

Output

data:image/png;base64,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




Question: How to display the binary image data in Browser?

echo '<img src="&#39;.$binaryData.&#39;" title="Dispaly image with binary data" />';



Tuesday, 14 June 2016

How to Check Request Type in PHP?

How to Check Request Type in PHP

echo $_SERVER['REQUEST_METHOD']; 
/** GET, POST, DELETE, COPY, MOVE, PUT OR  OPTIONS **/



Question: Give an example for getting different type of Request type?
$method =$_SERVER['REQUEST_METHOD'];
switch ($method) {
  case 'PUT':
    /*       
      write here your code      
     */
      
    break;
  case 'POST':
    /*       
      write here your code      
     */
      
    break;
  case 'GET':
    /*       
      write here your code      
     */
      
    break;
  case 'HEAD':
    /*       
      write here your code      
     */
      
    break;
  case 'DELETE':
    /*       
      write here your code      
     */
      
    break;
  case 'OPTIONS':
        /*       
      write here your code      
     */
      
    break;
  default:
    echo "Unexpected request type";
    break;
}



Thursday, 9 June 2016

How to list files in directory in PHP?

How to list files in directory  by Group files?

Display the list of files in directory.
Files will be list in Group by extension like PDF, JPG and PHP etc.
Also list the files with sizes in Kilo Bytes.


Code Snippet



$path    = 'E:\wamp\www\project\public_html\images';
$files = scandir($path);
$files = array_diff(scandir($path), array('.', '..'));
$groupFiles=array();
foreach($files as $file){    
    $keyName=$extension = pathinfo($file, PATHINFO_EXTENSION);
    if(empty($extension)){
        $keyName='directory';
    }
    $keyName=strtolower($keyName);
    $groupFiles[$keyName][]=$file;    
}
echo '<table border=1>';
foreach($groupFiles as $fileExtention=>$files){
    echo "<tr>";
    echo "<td><h3>{$fileExtention}</h3></td>";
    echo "<td>";
    foreach($files as $file){
        $fileSize= filesize($path.'\\'.$file);
        echo $file.' (<b>'.(number_format($fileSize/1024,0)).'</b> KB)';echo "<br >";
    }
    echo "</td>";
    echo "</tr>";
}
echo '</table>';



Output


jpg

TALENT-LOGO.JPG (41 KB)
backImg.jpg (1,667 KB)
backImg1.jpg (490 KB)
backImg2.jpg (336 KB)
backImg3.jpg (51 KB)
default.jpg (2 KB)
drexel-bg.jpg (99 KB)
flashUpdate.jpg (26 KB)
powerpitchlogo.jpg (23 KB)
robert-bg.jpg (100 KB)
smlogoborder.jpg (29 KB)
videoThumb.jpg (60 KB)

png

assets-tour-page.png (15 KB)
buttons-navigation.png (16 KB)
chat.png (267 KB)
clock-icon.png (5 KB)
close.png (2 KB)
columbia-bg.png (21 KB)
email-share.png (3 KB)
facebook-icon-chat.png (1 KB)
facebook-share-button.png (14 KB)
fb-login.png (2 KB)
globeIcon.png (2 KB)
icons_sprite.png (13 KB)
img_close.png (2 KB)
imsa-footer.png (12 KB)
imsa-header.png (11 KB)
island.png (65 KB)
large-be-right-back-final.png (21 KB)
logo-power-grey.png (4 KB)
logo-power-white.png (3 KB)
new-geo-logo.png (6 KB)
pause-image.png (9 KB)
playButtonThumb.png (6 KB)
playButtonThumb1.png (9 KB)
please-stand-by.png (1,076 KB)
power-geo-logo.png (6 KB)
powered-by-georama-white.png (2 KB)
powered-by-georama.png (2 KB)
rsvp.png (22 KB)
scroll-icons.png (2 KB)
sendMsgBtn.png (2 KB)
shareIcon.png (1 KB)
top-down-arrow.png (1 KB)
tw-sign-up.png (3 KB)
tweetbutton.png (7 KB)
twitter-icon-chat.png (1 KB)
verShadow.png (2 KB)
virtual-tour-assets.png (18 KB)

gif

btn_buynowCC_LG.gif (4 KB)
clear.gif (1 KB)
loading.gif (4 KB)

directory

email (4 KB)
fileUpload (0 KB)
guides (0 KB)
ohio (4 KB)
sign-in-forms (4 KB)
sign-up-forms (4 KB)
survey (4 KB)
tourImage (0 KB)
tours (0 KB)



Thursday, 19 May 2016

Convert time in HH:MM:SS format to seconds

Convert time in HH:MM:SS format to seconds

Use below PHP Function to convert time(hh:mm:ss) to seconds.
function getSecondsFromHMS($time) {
    $timeArr = array_reverse(explode(":", $time));    
    $seconds = 0;
    foreach ($timeArr as $key => $value) {
        if ($key > 2)
            break;
        $seconds += pow(60, $key) * $value;
    }
    return $seconds;
}


Give few examples to use getSecondsFromHMS.
echo  getSecondsFromHMS('00:00:35'); //35

echo getSecondsFromHMS('00:35:35'); //2135

echo getSecondsFromHMS('35:35:35'); //128135

echo getSecondsFromHMS('135:35:35'); //488135



Friday, 13 May 2016

How to download image from URL with PHP?

How to download image from url with PHP?

Question: How to download image from url and save in server?
//Image path which we will download
$imageURL='http://domain.com/image.jpg';

//get extension of image
$ext = pathinfo($imageURL, PATHINFO_EXTENSION);

//Local path of image - where will we save the image
$downloadTo = fopen('import/image/file'.  rand(1, 9999).'.'.$ext, 'wb');

//Download and save image
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $imageURL);
curl_setopt($ch, CURLOPT_FILE, $downloadTo);
curl_setopt($ch, CURLOPT_HEADER, 0);
$output = curl_exec($ch);
curl_close($ch);



Question: How to get image extension from url?
$imageURL='http://domain.com/image.jpg';
$ext = pathinfo($imageURL, PATHINFO_EXTENSION); //.jpg



Question: Download image from URL and display in browser?
    //Image path which we will download
    $imageURL='http://domain.com/image.jpg';

    //get extension of image
    $ext = pathinfo($imageURL, PATHINFO_EXTENSION);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $imageURL);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $output = curl_exec($ch);
    curl_close($ch);
    switch( $ext ) {
        case "gif": $ctype="image/gif"; break;
        case "png": $ctype="image/png"; break;
        case "jpeg":
        case "jpg": $ctype="image/jpeg"; break;
        default:
    }
    header('Content-type: ' . $ctype);



Question: How to check if image is valid OR Not?
$imageURL='http://domain.com/image.jpg';
 list($width, $height, $type, $attr) = getimagesize($imageURL);
 if (!empty($width) && !empty($height)) {
    echo "Valid Image";
    }else{
    echo "In Valid Image";
    }

Tuesday, 23 February 2016

301 or 302 Redirection With PHP and benefits

301 or 302 Redirection With PHP and benefits

Question: What is Redirection?
On a Web site, redirection is a technique for moving visitors to a different Web page OR Different Website.


Question: Why we do Redirection?
We do Redirection, because we want to tell the visitor that current page is not appropriate for you.

Following are different reason, we do Redirection
  1. If user already login, and try to open the login page redirect him to user dashboard.
  2. Trying to access a page which is temporary not available.
  3. If user trying to access un-authorized page, Redirect him to user dashboard.
  4. Tring to access non-exist page, redirect him sitemap page OR 404 page.
  5. Trying to access non-exist website.


Question: What are different type of redirects?
  1. 301 permanent redirects
  2. 302 temporary redirects


Question: What is 301 permanent redirects?
301 refers to the HTTP status code.
A 301 redirect is a permanent redirect which passes between ranking power(>90%) to the redirected page.


Question: When we use 301 redirects?
  1. When a web page permanently removed, we redirect user to new page.
  2. When we want to transfer the ranking benefits(SEO point of view) to new web page.
  3. Redirect user to new web page and stopped him to access old page(not available page).
  4. If you have updated the contents to new web page, MUST USE 301 Redirects
  5. 301 indicates to both browsers and search engine bots(Google, bing, yahoo) that the page has moved permanently.



Question: What is 302 temporary redirects?
302 refers to the HTTP status code.
A 302 redirect is a temporary redirect. We have to tell user its temporary unavailable and will be available very soon.


Question: When we use 302 redirects?
  1. If user already login, and try to open the login page redirect him to user dashboard.
  2. Trying to access a page which is temporary not available.
  3. If user trying to access un-authorized page, Redirect him to user dashboard.


Question: How to make 301 redirect with php?
header('Location: http://www.example.com/new-web-page.php', true, 301);exit;



Question: How to make 302 redirect with php?
header('Location: http://www.example.com/new-web-page.php', true, 302);exit;

OR
header('Location: http://www.example.com/new-web-page.php');exit;

Both are same and works same.


Question: Can we use regular express in Redirection?
Yes, See Example:
if(preg_match("/^\/old\./", $_SERVER['REQUEST_URI'], $m)){
    header('Location: http://www.example.com/new-web-page.php', true, 301);exit;
}
URL start with /old will be redirect to http://www.example.com/new-web-page.php


Question: Give an URL to check 301 redirects?
http://www.aboutcity.net/youtube/videos/watch/wEVPkxFC0NI


Question: Where can I test redirect online? http://www.redirect-checker.org/index.php
(Check Your Redirects and Statuscode 301 vs 302, meta refresh & javascript redirects)


Question: How to make 301 redirect with htaccess?
Add following code in htaccess
Redirect 301 /old/ /new/

Make Sure "RewriteEngine On" and installed "mod_rewrite" on server.


Question: How to make 302 redirect with htaccess?
Add following code in htaccess
Redirect 302 /old/ /new/

Make Sure "RewriteEngine On" and installed "mod_rewrite" on server.

Question: What are different HTTP status code used in web?
301 - Permanent movement(redirection)
302 - Temporary movement(redirection)
400 - Bad request
401 - Authorization Required
For More details http://www.web-technology-experts-notes.in/2014/02/htaccess-code-snippets-example.html


Friday, 19 February 2016

How to detect Mobile Device in PHP? - Simplest way

How to detect Mobile Device in PHP - Simplest way

Question: What does this script do?
It simply detect the request and tells request comes from mobile browser (Mobile devices) OR Web Devices (Desktop, Laptop, Ipad).


Question: What are Server Requirements for this script?
PHP Must be installed.


Question: Why we do need this script?
Sometime we need to give the different response on the behalf of devices.
For Example:
We give 20 records for web browser.
We give 10 records for Mobile browser.


Question: Where we do need this script? Give Example?
We need this script where we change the response on the behalf of devices browser.
For Example:
  1. Different number of record in web and in mobile.
  2. In Responsive website, we hide the extra information which is not displayed in mobile devices. In this case we should also not fetch these details from the server.
  3. Display the different sizes of images on the behalf of device.
  4. If website is not compatiable to mobile devices, Give a good message to users.



Question: How to detect the mobile devices?
$useragent=$_SERVER['HTTP_USER_AGENT'];
$isMobile=0;
if(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|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|phone)|xda|xiino/i',$useragent)||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)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|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)|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($useragent,0,4))){
    $isMobile=1;
}

if($isMobile){
    /** Script For Mobile **/

    /** Script For Mobile **/
}else{
    /** Script For Web**/

    /** Script For Web**/
}