10个超级有用的PHP代码片段果断收藏

本文笔者将为你奉上13个顶尖有用的PHP代码片段。

PHP是一种HTML内嵌式的语言,是一种在劳动器端实施的嵌入HTML文书档案的脚本语言。

1.查找Longitudes与Latitudes之间的间隔

PHP具有数以亿计的基本效用,扶持上千种扩大。那么些效用都被很好的加载在PHP站点上,但松开的库有多姿多彩的命名。

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.6025 feet: 13,741.4350 yards: 4,580.4783 kilometers: 4.1884 meters: 4,188.3894 

在PHP代码库中带有了重重个有效的PHP代码片段,每位开垦者都需求不断康健自身的“工具箱”。

2.完善cURL功能

有了那个代码片段可以为你节省大量的年月,一同来看下。

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

1.查找Longitudes与Latitudes之间的间隔

3.清理顾客输入

function getDistanceBetweenPointsNew($latitude1, $longitude1,
$latitude2, $longitude2) { $theta = $longitude1 – $longitude2; $miles =
(sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) +
(cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad;
$miles = acos; $miles = rad2deg; $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.”;}The example returns the
following:miles: 2.6025feet: 13,741.4350yards: 4,580.4783kilometers:
4.1884meters: 4,188.3894

]*.*@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; }  

2.完善cURL功能

4.透过IP检查实验地理地点

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 {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
{curl_setopt($ch, CURLOPT_USERAGENT, $ua);}if(count >
0){curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch,
CURLOPT_POSTFIELDS, $post);}$output = curl_exec;curl_close;if
{print;} else {return $output;}}

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 = '_locator.phpip=' . 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 = '' . $_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; } } 

3.清理客商输入

5.装置密码强度

]*?>.*?@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; } } else { if
(get_magic_quotes_gpc { $input = stripslashes; } $input = cleanInput;
$output = mysql_real_escape_string; } return $output;}?>

 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")); 

4.透过IP检查测量检验地理地点

6.检测浏览器语言,只提供可用的$availableLanguages作为数组(‘en’, ‘de’,
‘es’卡塔尔国

function detect_city { $default = ‘Hollywood, CA’; if (!is_string ||
strlen < 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 = ” . urlencode; $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; if (!is_null($curl_info)) { $curl_info =
curl_getinfo; } curl_close; 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; } }

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

5.设置密码强度

7.创办数量UGL450L

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); echo “”; var_dump(password_strength;

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

6.检测浏览器语言,只提供可用的$availableLanguages作为数组(‘en’,
‘de’, ‘es’卡塔尔国

8.开立越发谐和的页面标题SEO ULacrosseL

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

输入示例:$title = “This foo’s bar is rockin’ cool!”; echo
makeseoname($title); //RETURNS: //this-foos-bar-is-rockin-cool

7.创设数量URL

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

function data_uri($file, $mime) { $contents=file_get_contents;
$base64=base64_encode($contents); echo “data:$mime;base64,$base64”;}

9.终极加密功能

8.创制越发融洽的页面标题SEO U汉兰达L

// f(ucking) u(ncrackable) e(ncryption) function by BlackHatDBL () function fue($hash,$times) { // Execute the encryption(s) as many times as the user wants for($i=$times;$i0;$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 value return $hash; } 

输入示例:$title = “This foo’s bar is rockin’ cool!”; echo makeseoname;
//RETURNS: //this-foos-bar-is-rockin-cool

10a.Tweeter Feed
Runner――应用大肆twitter名,可在大肆页面上加载客商能源。

function make_seo_name {

pversion; } public function loadTimeline($user, $max = 20){ $this-twitURL .= 'statuses/user_timeline.xmlscreen_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; } } 

return preg_replace(‘/[^a-z0-9_-]/i’, ”, strtolower(str_replace(‘
‘, ‘-‘, trim);

10b. Tweeter Feed Runner――用于在核心中开创文件,举例:example.php

}

loadTimeline("phpsnips")-getTweets(); foreach($feed as $time = $message){ echo "div class='tweet'".$twitter-formatTweet($message)."br /At: ".$time."/div"; } 

9.终极加密功能

直白拿来用,13个PHP代码片段,还犹疑什么,果决收藏吧

// f u(ncrackable) e(ncryption) function by BlackHatDBL
(www.netforme.net)function fue($hash,$times) {// Execute the encryption
as many times as the user wantsfor($i=$times;$i>0;$i–) {// Encode
with base64…$hash=base64_encode;// and md5…$hash=md5;//
sha1…$hash=sha1;// sha256… $hash=hash(“sha256”, $hash);//
sha512$hash=hash(“sha512”, $hash);}// Finaly, when done, return the
valuereturn $hash;}

10a.Tweeter Feed
Runner——使用大肆twitter名,可在率性页面上加载客商财富。

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;

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 = preg_replace(“/)/”,”$1$3″, $tweet);

$tweet = preg_replace/”, “#$1$2”, $tweet);

$tweet = preg_replace/”, “@$1$2”, $tweet);

return $tweet;

}

}

10b. Tweeter Feed Runner——用于在主题中成立文件,比如:example.php

loadTimeline(“phpsnips”)->getTweets();

foreach($feed as $time => $message){

echo “

“.$twitter->formatTweet.”At: “.$time.””;

}

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图