10 extremely useful PHP code snippets to be decisively added to favorites

Source: Internet
Author: User
PHP is an embedded HTML language and a scripting language that is executed on the server side to embed HTML documents. The PHP code library contains countless useful PHP code snippets. Every developer must constantly improve their"

PHP is an embedded HTML language and a scripting language that is executed on the server side to embed HTML documents. The PHP code library contains countless useful PHP code snippets. Every developer must constantly improve their"

This article will provide you with 10 extremely useful PHP code snippets.

1. Find the distance between Longitudes and Latitudes

Function getDistanceBetweenPointsNew ($ latitude1, $ longitude1, $ latitude2, $ longitude2) {$ theta = $ longitude1-$ longitude2; $ miles = (sin (deg 2rad ($ latitude1 )) * sin (deg 2rad ($ latitude2) + (cos (deg 2rad ($ latitude1) * cos (deg 2rad ($ latitude2 )) * cos (deg 2rad ($ theta); $ miles = acos ($ miles); $ miles = rad2deg ($ miles); $ miles = $ miles * 60*1.1515; $ feet = $ miles * 5280; $ yards = $ feet/3; $ kilometers = $ miles * 1.609344; $ meters = $ kilometers * 1000; return compact ('miles ', 'feet ', 'yzs', 'kilometers', 'meters');} $ point1 = array ('lat' => 40.770623, 'long' =>-73.964367 ); $ point2 = array ('lat' => 40.758224, 'long' =>-73.917404); $ distance = getDistanceBetweenPointsNew ($ point1 ['lat'], $ point1 ['long'], $ point2 ['lat'], $ point2 ['long']); foreach ($ distance as $ unit => $ value) {echo $ unit. ':'. number_format ($ value, 4 ). '';} The example returns the following: miles: 2.6025 feet: 13,741.4350 yards: 4,580.4783 kilometers: 4.1884 meters: 4,188.3894

2. Improve the cURL Function

Function xcurl ($ url, $ ref = null, $ post = array (), $ ua = "Mozilla/5.0 (X11; Linux x86_64; rv: 2.2a1pre) gecko/20110324 Firefox/4.2a1pre ", $ print = false) {$ ch = curl_init (); curl_setopt ($ ch, CURLOPT_AUTOREFERER, true); if (! Empty ($ ref) {curl_setopt ($ ch, CURLOPT_REFERER, $ ref);} curl_setopt ($ ch, CURLOPT_URL, $ url); curl_setopt ($ ch, CURLOPT_HEADER, 0 ); curl_setopt ($ ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); if (! Empty ($ ua) {curl_setopt ($ ch, CURLOPT_USERAGENT, $ ua);} if (count ($ post)> 0) {curl_setopt ($ ch, CURLOPT_POST, 1 ); curl_setopt ($ ch, CURLOPT_POSTFIELDS, $ post) ;}$ output = curl_exec ($ ch); curl_close ($ ch); if ($ print) {print ($ output );} else {return $ output ;}}

3. Clear user input

] *?>. *? @ Si', // Strip out javascript '@ <[\/\!] *? [^ <>] *?> @ Si', // Strip out HTML tags' @] *?>. *? @ SiU ', // Strip style tags properly' @ '// Strip multi-line comments); $ output = preg_replace ($ search, '', $ input ); return $ output ;}?> $ Val) {$ output [$ var] = sanitize ($ val) ;}} else {if (get_magic_quotes_gpc () {$ input = stripslashes ($ input );} $ input = cleanInput ($ input); $ output = mysql_real_escape_string ($ input);} return $ output ;}?>

4. Check geographic location by IP address (city or country)

Function detect_city ($ ip) {$ default = 'Hollywood, ca'; if (! Is_string ($ ip) | strlen ($ ip) <1 | $ ip = '2017. 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, rows => 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 ;}}

5. Set Password strength

100) {$ strength = 100;} return $ strength;} var_dump (password_strength ("Correct Horse Battery Staple"); echo ""; var_dump (password_strength ("Super Monkey Ball"); echo ""; var_dump (password_strength ("Tr0ub4dor & 3"); echo ""; var_dump (password_strength ("abc123"); echo ""; var_dump (password_strength ("sweet "));

6. Check the browser language. Only available $ availableLanguages can be used as an array ('en', 'del', 'els ')

Function get_client_language ($ availableLanguages, $ default = 'en') {if (isset ($ _ SERVER ['HTTP _ ACCEPT_LANGUAGE ']) {$ langs = explode (',', $ _ SERVER ['HTTP _ ACCEPT_LANGUAGE ']); // start going through each one foreach ($ langs as $ value) {$ choice = substr ($ value, 0, 2 ); if (in_array ($ choice, $ availableLanguages) {return $ choice ;}} return $ default ;}

7. Create a Data URL

Function data_uri ($ file, $ mime) {$ contents = file_get_contents ($ file); $ base64 = base64_encode ($ contents); echo "data: $ mime; base64, $ base64 ";}

8. Create a more friendly page title SEO URL

Input example: $ title = "This foo's bar is rockin 'Cool !"; Echo makeseoname ($ title); // RETURNS: // this-foos-bar-is-rockin-cool

Function make_seo_name ($ title) {return preg_replace ('/[^ a-z0-9 _-]/I', '', strtolower (str_replace ('','-', trim ($ title ))));}

9. Ultimate encryption function

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.