10 useful PHP code snippets are recommended.

Source: Internet
Author: User

10 useful PHP code snippets are recommended.
When using PHP for development, if you add some useful methods or code snippets to your favorites, it will bring great convenience to your development work. Today we will introduce 10 super useful PHP code snippets. Hope you will like them!


1. Use textmagic API to send messages
Sometimes, you need to send some text messages to your customers, so you should definitely look at textMagic. It provides a very simple API to implement this function. But not free.

// Include the TextMagic PHP lib  require('textmagic-sms-api-php/TextMagicAPI.php');   // Set the username and password information  $username = 'myusername';  $password = 'mypassword';   // Create a new instance of TM  $router = new TextMagicAPI(array(      'username' => $username,      'password' => $password  ));   // Send a text message to '999-123-4567'  $result = $router->send('Wake up!', array(9991234567), true);   // result:  Result is: Array ( [messages] => Array ( [19896128] => 9991234567 ) [sent_text] => Wake up! [parts_count] => 1 ) 



2. Identify the source by IP Address
This is a very practical code snippet that helps you identify visitor sources through IP addresses. The following method receives a parameter and returns the IP address location. If not found, return UNKNOWN.
function detect_city($ip) {           $default = 'UNKNOWN';           if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost')              $ip = '8.8.8.8';           $curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';           $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip);          $ch = curl_init();           $curl_opt = array(              CURLOPT_FOLLOWLOCATION  => 1,              CURLOPT_HEADER      => 0,              CURLOPT_RETURNTRANSFER  => 1,              CURLOPT_USERAGENT   => $curlopt_useragent,              CURLOPT_URL       => $url,              CURLOPT_TIMEOUT         => 1,              CURLOPT_REFERER         => 'http://' . $_SERVER['HTTP_HOST'],          );           curl_setopt_array($ch, $curl_opt);           $content = curl_exec($ch);           if (!is_null($curl_info)) {              $curl_info = curl_getinfo($ch);          }           curl_close($ch);           if ( preg_match('{
  • City : ([^<]*)
  • }i', $content, $regs) ) { $city = $regs[1]; } if ( preg_match('{
  • State/Province : ([^<]*)
  • }i', $content, $regs) ) { $state = $regs[1]; } if( $city!='' && $state!='' ){ $location = $city . ', ' . $state; return $location; }else{ return $default; } }


    3. display the source code of any web page
    Do you want to display the source code of any web page with a line number? Here is a simple code snippet. You only need to modify the url of the second line.
      $line) {        // loop thru each line and prepend line numbers        echo "Line #{$line_num} : " . htmlspecialchars($line) . "
    \n"; } ?>



    4. Determine whether the server is connected over HTTPS.
    Need to determine whether the code runtime environment is an HTTPS server? The following code helps you implement it, which is very simple!
    if ($_SERVER['HTTPS'] != "on") {        echo "This is not HTTPS";    }else{        echo "This is HTTPS";    }    



    5. display the number of Facebook fans in the text
    Would you like to see how many fans you have on facebook? The following code helps you implement it.
    function fb_fan_count($facebook_name){        // Example: https://graph.facebook.com/digimantra        $data = json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name));        echo $data->likes;    }       




    6. Determine the Dominant Color of an image
    The following code is very practical and can help you determine the Dominant Color of an image. You can analyze any image.
    $i = imagecreatefromjpeg("image.jpg");        for ($x=0;$x
     
      > 16) & 0xFF;            $g   = ($rgb >>  & 0xFF;            $b   = $rgb & 0xFF;                $rTotal += $r;            $gTotal += $g;            $bTotal += $b;            $total++;        }    }        $rAverage = round($rTotal/$total);    $gAverage = round($gTotal/$total);    $bAverage = round($bTotal/$total);    
     




    7. Understand your memory usage
    To optimize your script, you need to know the RAM usage on the server. This code snippet helps you understand memory usage and print initial, final, and peak usage.
    echo "Initial: ".memory_get_usage()." bytes \n";    /* prints   Initial: 361400 bytes   */        // let's use up some memory    for ($i = 0; $i < 100000; $i++) {        $array []= md5($i);    }        // let's remove half of the array    for ($i = 0; $i < 100000; $i++) {        unset($array[$i]);    }        echo "Final: ".memory_get_usage()." bytes \n";    /* prints   Final: 885912 bytes   */        echo "Peak: ".memory_get_peak_usage()." bytes \n";    /* prints   Peak: 13687072 bytes   */    



    8. Use gzcompress () to compress data
    When using a long string, you can use the gzcompress () method to compress strings. Decompress the package using gzuncompress. The Code is as follows.
    $string =    "Lorem ipsum dolor sit amet, consectetur    adipiscing elit. Nunc ut elit id mi ultricies    adipiscing. Nulla facilisi. Praesent pulvinar,    sapien vel feugiat vestibulum, nulla dui pretium orci,    non ultricies elit lacus quis ante. Lorem ipsum dolor    sit amet, consectetur adipiscing elit. Aliquam    pretium ullamcorper urna quis iaculis. Etiam ac massa    sed turpis tempor luctus. Curabitur sed nibh eu elit    mollis congue. Praesent ipsum diam, consectetur vitae    ornare a, aliquam a nunc. In id magna pellentesque    tellus posuere adipiscing. Sed non mi metus, at lacinia    augue. Sed magna nisi, ornare in mollis in, mollis    sed nunc. Etiam at justo in leo congue mollis.    Nullam in neque eget metus hendrerit scelerisque    eu non enim. Ut malesuada lacus eu nulla bibendum    id euismod urna sodales. ";        $compressed = gzcompress($string);        echo "Original size: ". strlen($string)."\n";    /* prints   Original size: 800   */        echo "Compressed size: ". strlen($compressed)."\n";    /* prints   Compressed size: 418   */        // getting it back    $original = gzuncompress($compressed); 




    9. Use PHP to execute Whois Query
    If you need to obtain the whois information of the specified domain name, why not use PHP? The following code helps you.
    function whois_query($domain) {            // fix the domain name:        $domain = strtolower(trim($domain));        $domain = preg_replace('/^http:\/\//i', '', $domain);        $domain = preg_replace('/^www\./i', '', $domain);        $domain = explode('/', $domain);        $domain = trim($domain[0]);            // split the TLD from domain name        $_domain = explode('.', $domain);        $lst = count($_domain)-1;        $ext = $_domain[$lst];            // You find resources and lists        // like these on wikipedia:        //        // http://de.wikipedia.org/wiki/Whois        //        $servers = array(            "biz" => "whois.neulevel.biz",            "com" => "whois.internic.net",            "us" => "whois.nic.us",            "coop" => "whois.nic.coop",            "info" => "whois.nic.info",            "name" => "whois.nic.name",            "net" => "whois.internic.net",            "gov" => "whois.nic.gov",            "edu" => "whois.internic.net",            "mil" => "rs.internic.net",            "int" => "whois.iana.org",            "ac" => "whois.nic.ac",            "ae" => "whois.uaenic.ae",            "at" => "whois.ripe.net",            "au" => "whois.aunic.net",            "be" => "whois.dns.be",            "bg" => "whois.ripe.net",            "br" => "whois.registro.br",            "bz" => "whois.belizenic.bz",            "ca" => "whois.cira.ca",            "cc" => "whois.nic.cc",            "ch" => "whois.nic.ch",            "cl" => "whois.nic.cl",            "cn" => "whois.cnnic.net.cn",            "cz" => "whois.nic.cz",            "de" => "whois.nic.de",            "fr" => "whois.nic.fr",            "hu" => "whois.nic.hu",            "ie" => "whois.domainregistry.ie",            "il" => "whois.isoc.org.il",            "in" => "whois.ncst.ernet.in",            "ir" => "whois.nic.ir",            "mc" => "whois.ripe.net",            "to" => "whois.tonic.to",            "tv" => "whois.tv",            "ru" => "whois.ripn.net",            "org" => "whois.pir.org",            "aero" => "whois.information.aero",            "nl" => "whois.domain-registry.nl"        );            if (!isset($servers[$ext])){            die('Error: No matching nic server found!');        }            $nic_server = $servers[$ext];            $output = '';            // connect to whois server:        if ($conn = fsockopen ($nic_server, 43)) {            fputs($conn, $domain."\r\n");            while(!feof($conn)) {                $output .= fgets($conn,128);            }            fclose($conn);        }        else { die('Error: Could not connect to ' . $nic_server . '!'); }            return $output;    }  



    10. Sending emails instead of displaying PHP errors
    If you do not want to display a PHP error on the page, you can also get the error message by email. The following code helps you implement it.
     An error ($number) occurred on line            $line and in the file: $file.            

    $message

    "; $email .= "
    " . print_r($vars, 1) . "
    "; $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Email the error to someone... error_log($email, 1, 'you@youremail.com', $headers); // Make sure that you decide how to respond to errors (on the user's side) // Either echo an error message, or kill the entire project. Up to you... // The code below ensures that we only "die" if the error was more than // just a NOTICE. if ( ($number !== E_NOTICE) && ($number < 2048) ) { die("There was an error. Please try again later."); } } // We should use our custom function to handle errors. set_error_handler('nettuts_error_handler'); // Trigger an error... (var doesn't exist) echo $somevarthatdoesnotexist;?>

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.