Home  >  Article  >  Backend Development  >  Recommend 10 very practical PHP code snippets_PHP tutorial

Recommend 10 very practical PHP code snippets_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:22:25874browse

Recommend 10 very practical PHP code snippets

When developing using PHP, if you collect some very useful methods or code snippets, it will bring great convenience to your development work. Today we will introduce 10 super easy-to-use PHP code snippets. I hope you will like them!


1. Use textmagic API to send messages
There may be times when you need to send some text messages to your customers, then you should definitely check out textMagic. It provides a very simple API to implement this functionality. But it's 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. Determine the source by IP
This is a very practical code snippet that can help you determine the source of your visitors by IP. The following method receives a parameter and then returns the IP location. If not found, UNKNOWN is returned.
function detect_city($ip) {  
 
        $default = 'UNKNOWN';  
 
        if (!is_string($ip) || strlen($ip) < 1 || $ip == &#39;127.0.0.1&#39; || $ip == &#39;localhost&#39;)  
            $ip = &#39;8.8.8.8&#39;;  
 
        $curlopt_useragent = &#39;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)&#39;;  
 
        $url = &#39;http://ipinfodb.com/ip_locator.php?ip=&#39; . 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         => &#39;http://&#39; . $_SERVER[&#39;HTTP_HOST&#39;],  
        );  
 
        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(&#39;{<li>City : ([^<]*)</li>}i&#39;, $content, $regs) )  {  
            $city = $regs[1];  
        }  
        if ( preg_match(&#39;{<li>State/Province : ([^<]*)</li>}i&#39;, $content, $regs) )  {  
            $state = $regs[1];  
        }  
 
        if( $city!=&#39;&#39; && $state!=&#39;&#39; ){  
          $location = $city . &#39;, &#39; . $state;  
          return $location;  
        }else{  
          return $default;  
        }  
} 


3. Display the source code of any web page
Want to display the source code of any web page with line numbers? Here is a simple code snippet, you only need to modify the url in the second line
<?php // display source code    
$lines = file(&#39;http://google.com/&#39;);    
foreach ($lines as $line_num => $line) {    
    // loop thru each line and prepend line numbers    
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";    
}   
?>



4. Determine whether the server is an HTTPS connection
Need to determine whether the code running environment is an HTTPS server? The code below can help you achieve it, it's very simple!
if ($_SERVER[&#39;HTTPS&#39;] != "on") {    
    echo "This is not HTTPS";    
}else{    
    echo "This is HTTPS";    
}    



5. Display Facebook fan count in text
Want to see how many fans you have on facebook? The code below can help you achieve this.
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 main color of a picture
The code below is very practical and can help you determine the main color in a picture. You can analyze any picture.
$i = imagecreatefromjpeg("image.jpg");    
    
for ($x=0;$x<imagesx($i);$x++) {    
    for ($y=0;$y<imagesy($i);$y++) {    
        $rgb = imagecolorat($i,$x,$y);    
        $r   = ($rgb >> 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
In order to optimize your scripts, you need to understand the RAM usage on the server. This code snippet will help you understand memory usage and print initial, final and peak usage.
echo "Initial: ".memory_get_usage()." bytes \n";    
/* prints   
Initial: 361400 bytes   
*/    
    
// let&#39;s use up some memory    
for ($i = 0; $i < 100000; $i++) {    
    $array []= md5($i);    
}    
    
// let&#39;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 very long strings, you can compress the strings through the gzcompress() method. To decompress, use 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 perform Whois query
If you need to get the whois information of a specific domain name, why not use PHP? The code below can help everyone.
function whois_query($domain) {    
    
    // fix the domain name:    
    $domain = strtolower(trim($domain));    
    $domain = preg_replace(&#39;/^http:\/\//i&#39;, &#39;&#39;, $domain);    
    $domain = preg_replace(&#39;/^www\./i&#39;, &#39;&#39;, $domain);    
    $domain = explode(&#39;/&#39;, $domain);    
    $domain = trim($domain[0]);    
    
    // split the TLD from domain name    
    $_domain = explode(&#39;.&#39;, $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(&#39;Error: No matching nic server found!&#39;);    
    }    
    
    $nic_server = $servers[$ext];    
    
    $output = &#39;&#39;;    
    
    // 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(&#39;Error: Could not connect to &#39; . $nic_server . &#39;!&#39;); }    
    
    return $output;    
}  



10. Do not display PHP errors and send emails instead
If you don't want PHP errors to be displayed on the page, you can also get error information via email. The code below can help you achieve this.
<?php    
    
// Our custom error handler    
function nettuts_error_handler($number, $message, $file, $line, $vars){    
    $email = "    
        <p>An error ($number) occurred on line    
        <strong>$line</strong> and in the <strong>file: $file.</strong>    
        <p> $message </p>";    
    
    $email .= "<pre class="code">" . print_r($vars, 1) . "
"; $headers = 'Content-type: text/html; charset=iso-8859-1' . "rn"; // 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

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/847867.htmlTechArticleRecommend 10 very practical PHP code snippets. When developing with PHP, if you have collected some very Useful methods or code snippets that will give your development work...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn