9 Most Useful PHP Code Snippets for Developers

Every programmer and web developer loves talking about their favorite set of snippets, especially PHP developers, who spend hours and hours coding websites and application, These guys know how important these snippets are. They are life savers for any serious coder. So before I give out my favorite Snippets, let me give you a brief overview of what a Snippet is and where one can use it to increase efficiency and saving time.

All Coders who develop website, codes or Applications know the Importance of time. We live in an age where there is a lot of competition to get ahead and stay ahead; therefore,  we need to be productive and quick to get results. If you are a serious coder and want to show your expertise over others, you need to have a set of resourceful snippets that can do a specific task within larger coding projects. A code snippet is nothing but a set of commands that can help you save time fulfilling laser-precision tasks in the quickest possible way.

Let me explain how a snippet can save you time. For example, if you are building an e-commerce website, you are building the website from scratch and coding every part of it. You want to add a feature on the website that helps customers see the value of your products in Dollars, Euros and Yen. If you start coding this on your website it can be a difficult task. However a format currency snippet can do this task for you within a few minutes. Hence, because snippets are so important, every coder keeps a set of his favorites close to his heart. Here my set of Code Snippets for PHP Developers.


1) Whois query using PHP

Using this code you can get whois information for a particular domain. Put a domain name as a parameter and display all the information about domain. Get the code below-

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);
    else { die('Error: Could not connect to ' . $nic_server . '!'); }

    return $output;

2) Text messaging with PHP using the TextMagic API

TextMagic introduce a powerful API that helps provide a way to send SMS to cell phones with ease. If you want to use this API in your project, you have to purchase it because it’s a paid service. The Code is below-

// Include the TextMagic PHP lib

// 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 )

3) Get info about your memory usage

Using this code can help you know about the users RAM ( memory) on your server.

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++) {

echo "Final: ".memory_get_usage()." bytes \n";
/* prints
Final: 885912 bytes

echo "Peak: ".memory_get_peak_usage()." bytes \n";
/* prints
Peak: 13687072 bytes

4) Display source code of any webpage

If you want to get source code of any web page, change the URL on 2nd line and display the source code of any webpage.

<?php // display source code $lines = file('http://google.com/'); foreach ($lines as $line_num => $line) { 
	// loop thru each line and prepend line numbers
	echo "Line #{$line_num} : " . htmlspecialchars($line) . "

5) Create data uri’s

By using this code you can create data Uri’s. It’s useful for embedding images into HTML/CSS to save on HTTp request.

function data_uri($file, $mime) {
  echo "data:$mime;base64,$base64";

6) Detect location by IP

This code script helps to find out the specific IP. Just type IP on place of parameter in function and detect the location easily.

function detect_city($ip) {

        $default = 'UNKNOWN';

        if (!is_string($ip) || strlen($ip) < 1 || $ip == '' || $ip == 'localhost')             $ip = '';         $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_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);


        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; } }

7) Detect browser language

Detect the browser language using the code script.

function get_client_language($availableLanguages, $default='en'){

		foreach ($langs as $value){
			if(in_array($choice, $availableLanguages)){
				return $choice;
	return $default;

8) Check if server is HTTPS

With this script, you can know if your server is HTTPS or not.

if ($_SERVER['HTTPS'] != "on") { 
	echo "This is not HTTPS";
	echo "This is HTTPS";

9) Generate CSV file from a PHP array

This function helps to generate a .csv file from PHP array. Get the script below-

function generateCsv($data, $delimiter = ',', $enclosure = '"') {
   $handle = fopen('php://temp', 'r+');
   foreach ($data as $line) {
		   fputcsv($handle, $line, $delimiter, $enclosure);
   while (!feof($handle)) {
		   $contents .= fread($handle, 8192);
   return $contents;