PHP is an embedded HTML language and a scripting language that is executed on the server side to embed HTML documents. PHP has hundreds of basic functions and supports thousands of extensions. These functions are well loaded on the PHP site, but the built-in libraries have various names. Code in PHP
PHP is an embedded HTML language and a scripting language that is executed on the server side to embed HTML documents. PHP has hundreds of basic functions and supports thousands of extensions. These functions are well loaded on the PHP site, but the built-in libraries have various names. The PHP code library contains countless useful PHP code snippets. every developer must constantly improve their "toolbox ". With these code snippets, you can save a lot of time. let's take a look.
1. find the distance between Longitudes and Latitudes
function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2) { $theta = $longitude1 - $longitude2; $miles = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($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','yards','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.6025feet: 13,741.4350yards: 4,580.4783kilometers: 4.1884meters: 4,188.3894
Source code
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;}}
Source code
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;}?>
Source code
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 == '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; } }
Source code
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"));
Source code
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 oneforeach ($langs as $value){$choice=substr($value,0,2);if(in_array($choice, $availableLanguages)){return $choice;}}} return $default;}
Source code
7. create a data URL
function data_uri($file, $mime) { $contents=file_get_contents($file); $base64=base64_encode($contents); echo "data:$mime;base64,$base64";}
Source code
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))));}
Source code
9. ultimate encryption function
// f(ucking) u(ncrackable) e(ncryption) function by BlackHatDBL (www.netforme.net)function fue($hash,$times) {// Execute the encryption(s) as many times as the user wantsfor($i=$times;$i>0;$i--) {// Encode with base64...$hash=base64_encode($hash);// and md5...$hash=md5($hash);// sha1...$hash=sha1($hash);// sha256... (one more)$hash=hash("sha256", $hash);// sha512$hash=hash("sha512", $hash);}// Finaly, when done, return the valuereturn $hash;}
Source code
10a. Tweeter Feed Runner-use any twitter name to load user resources on any page.
pversion; } public function loadTimeline($user, $max = 20){ $this->twitURL .= 'statuses/user_timeline.xml?screen_name='.$user.'&count='.$max; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->twitURL); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $this->xml = curl_exec($ch); return $this; } public function getTweets(){ $this->twitterArr = $this->getTimelineArray(); $tweets = array(); foreach($this->twitterArr->status as $status){ $tweets[$status->created_at->__toString()] = $status->text->__toString(); } return $tweets; } public function getTimelineArray(){ return simplexml_load_string($this->xml); } public function formatTweet($tweet){ $tweet = preg_replace("/(http(.+?))( |$)/","$1$3", $tweet); $tweet = preg_replace("/#(.+?)(\h|\W|$)/", "#$1$2", $tweet); $tweet = preg_replace("/@(.+?)(\h|\W|$)/", "@$1$2", $tweet); return $tweet; } }
10b. Tweeter Feed Runner -- used to create files in a topic, for example, example. php
loadTimeline("phpsnips")->getTweets(); foreach($feed as $time => $message){ echo "".$twitter->formatTweet($message)."
At: ".$time.""; }
Source code
From: Codegeekz