In programming, there will always be some very common needs, perhaps the predecessors have made us a good wheel, but we did not find. This article shares some common functional code snippets.
These PHP snippets are also very helpful for beginners in PHP, so it's easy to learn, so let's start learning ~
1. Send SMS
When developing a Web or mobile app, you'll often encounter the need to send SMS to the user, either because of login reasons, or to send a message. The following PHP code implements the ability to send SMS.
In order to send SMS in any language, an SMS gateway is required. Most SMS will provide an API, here is the use of MSG91 as SMS gateway.
function Send_sms ($mobile, $msg) {$authKey = "xxxxxxxxxxx";d ate_default_timezone_set ("Asia/kolkata"); $date = Strftime ("%y-%m-%d%h:%m:%s");//multiple mobiles numbers separated by comma$mobilenumber = $mobile;//sender id,while using Route4 Sender ID should is 6 characters long $senderId = "Ikoonk";//your message to send, and Add URL encoding here. $message = Urlen Code ($MSG);//define route $route = "template";//prepare you post Parameters$postdata = Array (' authkey ' = = $authKey, ' Mobiles ' = $mobileNumber, ' message ' and ' $message ', ' sender ' and ' $senderId, ' route ' = ' $route ');//ap I url$url= "https://control.msg91.com/sendhttp.php";//init the resource$ch = Curl_init (); Curl_setopt_array ($ch, array (Curlopt_url = $url, Curlopt_returntransfer = True, Curlopt_post = true, Curlopt_postfields = $postData//,curlopt_followlocation = True);//ignore SSL certificate verificationcurl_setopt ($ch, Curlopt_ssl_ve Rifyhost, 0); curl_setopt ($ch, Curlopt_Ssl_verifypeer, 0);//get response$output = curl_exec ($ch);//print error if Anyif (Curl_errno ($ch)) {echo ' ERROR: '. Curl _error ($ch);} Curl_close ($ch);}
where "$authKey =" xxxxxxxxxxx ";" Need you to enter your password, "$senderId =" Ikoonk ";" You are required to enter your SenderID. You need to specify the country code when you enter a mobile number (for example, the United States is 1, India is 91).
Grammar:
<?php$message = "Hello World"; $mobile = "918112998787"; Send_sms ($mobile, $message);? >
2. Send mail using Mandrill
The Mandrill is a powerful SMTP provider. Developers tend to use a third-party SMTP provider to get better delivery of their shipments.
In the following function, you need to put "mandrill.php" in the same folder as the PHP file so that you can use TA to send the message.
function Send_email ($to _email, $subject, $message 1) {require_once ' mandrill.php '; $apikey = ' xxxxxxxxxx ';//specify your API Key Here$mandrill = new Mandrill ($apikey), $message = new StdClass (), $message->html = $message 1; $message->text = $message 1; $message->subject = $subject; $message->from_email = "blog@koonk.com";//sender email$message-> From_name = "Koonk";//sender name$message->to = Array ("email" = = $to _email); $message->track_ Opens = true; $response = $mandrill->messages->send ($message);}
$apikey = ' xxxxxxxxxx '; Specify your API key here "requires you to specify your API keys (obtained from the Mandrill account)
Grammar:
<?php$to = "abc@example.com"; $subject = "This is a test email"; $message = "Hello world!"; Send_email ($to, $subject, $message);? >
In order to achieve the best results, it is best to follow the Mandrill tutorial to configure DNS.
3. PHP function: Block SQL injection
SQL injection or SQLi common attack site means, use the code below to help you prevent these tools.
function Clean ($input) { if (Is_array ($input)) { foreach ($input as $key = = $val) { $output [$ Key] = clean ($val); $output [$key] = $this->clean ($val); } } else { $output = (string) $input; If Magic quotes is on and use strip slashes if (GET_MAGIC_QUOTES_GPC ()) { $output = stripslashes ($OUTPU t); } $output = Strip_tags ($output); $output = Htmlentities ($output, ent_quotes, ' UTF-8 '); } Return the clean text return $output;}
Grammar:
<?php$text = "<script>alert (1) </script>"; $text = Clean ($text); Echo $text; >
4. Detecting User Locations
Use the following function to detect in which city the user visited your website
function Detect_city ($ip) {$default = ' UNKNOWN '; $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 (' {<li>city: ([^<]*) </li>}i ', $content, $regs)) {$city = $regs [1]; } if(Preg_match (' {<li>state/province: ([^<]*) </li>}i ', $content, $regs)) {$state = $regs [1]; if ($city! = "&& $state! =") {$location = $city. ', ' . $state; return $location; }else{return $default; } }
Grammar:
<?php$ip = $_server[' remote_addr ']; $city = detect_city ($IP); Echo $city; >
5. Get the source code for the Web page
Use the following function to get the HTML code for any Web page
function Display_sourcecode ($url) {$lines = file ($url); $output = ""; foreach ($lines as $line _num = + $line) { //loop Thru each line and prepend line numbers $output. = "line #<b>{$line _num}</b>:". Htmlspecialchars ($line). "\ n";}}
Grammar:
<?php$url = "http://blog.koonk.com"; $source = Display_sourcecode ($url); Echo $source; >
6. Calculate the users who like your Facebook page
function Fb_fan_count ($facebook _name) { $data = Json_decode (file_get_contents ("https://graph.facebook.com/"). $ Facebook_name)); $likes = $data->likes; return $likes;}
Grammar:
<?php$page = "Koonktechnologies"; $count = Fb_fan_count ($page); Echo $count; >
7. Determine the dominant color of any image
function Dominant_color ($image) {$i = Imagecreatefromjpeg ($image); for ($x =0; $x <imagesx ($i); $x + +) {for ($y =0;$ Y<imagesy ($i); $y + +) { $rgb = Imagecolorat ($i, $x, $y); $r = ($rgb >>) & 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);}
8. Whois query
Use the following function to get the full details of any domain user
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" and "=" whoi S.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" and "whois.iana.org", "ac" = "WHOIS.NIC.A"C "," 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 "and" WH " Ois.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" =& Gt "Whois.nic.de", "fr" = "whois.nic.fr", "Hu" and "whois.nic.hu", "ie" = "whois.domainregistr y.ie "," il "=" whois.isoc.org.il "," in "and" whois.ncst.ernet.in "," ir "=" whois.nic.ir ", "MC" = "whois.ripe.net", "to" and "whois.tonic.to", "TV" = "whois.tv", "Ru" and "WH" Ois.ripn.net "," org "=" whois.pir.org "," Aero "and" 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)) {fputs ($conn, $domain. " \ r \ n "); while (!feof ($conn)) {$output. = fgets ($conn, 128); } fclose ($conn); } else {die (' error:could does connect to '. $nic _server. '!'); } return $output;}
Grammar:
<?php$domain = "http://www.blog.koonk.com"; $result = Whois_query ($domain);p rint_r ($result);? >
9. Verify your email address
Sometimes, when filling out a form on a website, the user may enter the wrong email address, which verifies that the email address is valid.
function Is_validemail ($email) {$check = 0;if (Filter_var ($email, Filter_validate_email)) {$check = 1;} return $check;}
Grammar:
<?php$email = "blog@koonk.com"; $check = Is_validemail ($email); echo $check;/If the output is 1 and then e-mail is valid.? >
10. Get the user's real IP
function getrealipaddr () { if (!emptyempty ($_server[' http_client_ip ')) { $ip =$_server[' http_ Client_ip ']; } ElseIf (!emptyempty ($_server[' http_x_forwarded_for ')) //to Check IP is pass from proxy { $ip =$_server[' Http_x_forwarded_for ']; } else { $ip =$_server[' remote_addr '); } return $ip; }
Grammar:
<?php$ip = Getrealipaddr (); Echo $ip;? >
11. Convert URL: Change from string to hyperlink
If you are developing a forum, a blog or a regular form submission, a lot of times users have to visit a website. With this function, the URL string can be automatically converted to a hyperlink.
function Makeclickablelinks ($text) { $text = Eregi_replace (' (((f|ht) {1}tp://) [-a-za-z0-9@:%_+.~#?&//=]+] ', ' <a href= ' \1 ' >\1</a> ', $text); $text = Eregi_replace (' ([: Space:] () [{}]) (www.[ -a-za-z0-9@:%_+.~#?&//=]+) ', ' \1<a href= ' http://\2 ' >\2</a> ', $text); $text = Eregi_replace (' ([_.0-9a-z-]+@ ([0-9a-z][0-9a-z-]+.)] +[a-z]{2,3}) ', ' <a href= ' mailto:\1 ' >\1</a> ', $text); return $text; }
Grammar:
<?php$text = "This was my first post on http://blog.koonk.com"; $text = Makeclickablelinks ($text); Echo $text; >
12. Block multiple IPs from accessing your site
This code snippet allows you to prohibit certain IP addresses from accessing your website
if (!file_exists (' Blocked_ips.txt ')) {$deny _ips = array ( ' 127.0.0.1 ', ' 192.168.1.1 ', ' 83.76.27.9 ', ' 192.168.1.163 ');} else {$deny _ips = file (' Blocked_ips.txt ');} Read User IP adress: $ip = isset ($_server[' remote_addr ')? Trim ($_server[' remote_addr '): ";//Search current IP in $deny _ips arrayif ((Array_search ($ip, $deny _ips))!== FALSE) { Address is Blocked:echo ' Your IP adress ('. $ip. ') was blocked! '; Exit;}
13. Mandatory File Download
If you need to download a specific file without opening a new window, the following code snippet can help you.
function Force_download ($file) { $dir = ": /log/exports/"; if (Isset ($file)) && (File_exists ($dir. $file)) { header ("Content-type:application/force-download"); Header (' Content-disposition:inline; Filename= '. $dir. $file. '"'); Header ("Content-transfer-encoding:binary"); Header ("Content-length:". FileSize ($dir. $file)); Header (' Content-type:application/octet-stream '); Header (' content-disposition:attachment; Filename= '. $file. '"'); ReadFile ("$dir $file"); } else { echo "No file selected"; }}
Grammar:
<phpforce_download ("Image.jpg");? >
14. Creating JSON Data
Use the following PHP fragment to create JSON data that makes it easy for you to create a WEB service for your mobile app
$json _data = array (' ID ' =>1, ' name ' = ' Mohit '); Echo json_encode ($json _data);
15. Compressing the zip file
Zip files can be compressed instantly using the following PHP fragment
function Create_zip ($files = Array (), $destination = ", $overwrite = False) {//if The zip file already exists and Ove Rwrite is false, return False if (file_exists ($destination) &&! $overwrite) {return false;} VARs $valid _files = Array (); If files were passed in ... if (Is_array ($files)) {//cycle through each file foreach ($files as $file) {//make sure the File exists if (file_exists ($file)) {$valid _files[] = $file; }}}//if we have good files ... if (count ($valid _files)) {//create the archive $zip = new Ziparchive (); if ($zip->open ($destination, $overwrite? Ziparchive::overwrite:ziparchive::create)!== true) {return false; }//add the files foreach ($valid _files as $file) {$zip->addfile ($file, $file); }//debug//echo ' the zip archiveContains ', $zip->numfiles, ' files with a status of ', $zip->status; Close the zip--done! $zip->close (); Check to make sure the file exists return file_exists ($destination); } else {return false; } }
Grammar:
<?php$files=array (' file1.jpg ', ' file2.jpg ', ' file3.gif '); Create_zip ($files, ' Myzipfile.zip ', true);?>
16. Extracting Files
function unzip ($location, $newLocation) { if (EXEC ("Unzip $location", $arr)) { mkdir ($newLocation); for ($i = 1; $i < count ($arr), $i + +) { $file = Trim (Preg_replace ("~inflating: ~", "", $arr [$i])); Copy ($location. ' /'. $file, $newLocation. ' /'. $file); Unlink ($location. ' /'. $file); } return TRUE; } else{ return FALSE; }}
Grammar:
<?phpunzip (' Test.zip ', ' unziped/test '); File would is unzipped in Unziped/test folder?>
17. Zoom Image
function Resize_image ($filename, $tmpname, $xmax, $ymax) { $ext = explode (".", $filename); $ext = $ext [Count ($ext)-1]; if ($ext = = "JPG" | | $ext = = "jpeg") $im = Imagecreatefromjpeg ($tmpname); ElseIf ($ext = = "png") $im = Imagecreatefrompng ($tmpname); ElseIf ($ext = = "gif") $im = Imagecreatefromgif ($tmpname); $x = Imagesx ($im); $y = Imagesy ($im); if ($x <= $xmax && $y <= $ymax) return $im; if ($x >= $y) { $newx = $xmax; $newy = $newx * $y/$x; } else { $newy = $ymax; $NEWX = $x/$y * $newy; } $im 2 = Imagecreatetruecolor ($newx, $newy); Imagecopyresized ($im 2, $im, 0, 0, 0, 0, Floor ($newx), Floor ($newy), $x, $y); return $im 2; }
18. Send mail using mail ()
We've previously provided snippets of PHP code to send mail using Mandrill, but if you don't want to use a third-party service, you can use the following PHP snippet.
function Send_mail ($to, $subject, $body) {$headers = "from:koonk\r\n"; $headers. = "reply-to:blog@koonk.com\r\n"; $ Headers. = "return-path:blog@koonk.com\r\n"; $headers. = "x-mailer:php5\n"; $headers. = ' mime-version:1.0 '. "\ n"; $headers. = ' content-type:text/html; Charset=iso-8859-1 '. "\ r \ n"; Mail ($to, $subject, $body, $headers);}
Grammar:
<?php$to = "admin@koonk.com"; $subject = "This is a Test mail"; $body = "Hello world!"; Send_mail ($to, $subject, $body);? >
19. Convert seconds to days, hours and minutes
function Secstostr ($secs) { if ($secs >=86400) {$days =floor ($secs/86400); $secs = $secs%86400; $r = $days. ' Day '; if ($days <>1) {$r. = ' s ';} if ($secs >0) {$r. = ', ';}} if ($secs >=3600) {$hours =floor ($secs/3600), $secs = $secs%3600; $r. = $hours. ' Hour '; if ($hours <>1) {$r. = ' s ';} if ($secs >0) {$r. = ', ';}} if ($secs >=60) {$minutes =floor ($secs/60), $secs = $secs%60; $r. = $minutes. ' Minute '; if ($minutes <>1) {$r. = ' s ';} if ($secs >0) {$r. = ', ';}} $r. = $secs. ' Second '; if ($secs <>1) {$r. = ' s ';} return $r;}
Grammar:
<?php$seconds = "56789"; $output = Secstostr ($seconds); Echo $output; >