背景:
閱讀新聞
10個(gè)超級(jí)有用、必須收藏的PHP代碼樣例
[日期:2014-12-28]
來(lái)源:程序師
作者:Linux
[字體:大 中 小]
作為一個(gè)正常的程序員,會(huì)好幾種語(yǔ)言是十分正常的,相信大部分程序員也都會(huì)編寫幾句PHP程序,如果是WEB程序員,PHP一定是必備的,即使你沒(méi)用它開發(fā)過(guò)大型軟件項(xiàng)目,也一定多少了解它的語(yǔ)法角骤。
盡管PHP經(jīng)常被人詬病,被人貶低,被人當(dāng)玩笑開,事實(shí)證明,PHP是全世界網(wǎng)站開發(fā)中使用率最高的編程語(yǔ)言。PHP最大的缺點(diǎn)是太簡(jiǎn)單,語(yǔ)法不嚴(yán)謹(jǐn),框架體系很弱,但這也是它最大的優(yōu)點(diǎn),一個(gè)有點(diǎn)編程背景的普通人,只需要學(xué)習(xí)PHP半天時(shí)間,就可以上手開始開發(fā)web應(yīng)用了自阱。
網(wǎng)上有人總結(jié)幾種編程語(yǔ)言的特點(diǎn),我覺(jué)得也挺有道理的:
PHP 就是: Quick and Dirty
Java 就是: Beauty and Slowly
Ruby 就是: Quick and Beauty
python 就是: Quick and Simple
在PHP的流行普及中,網(wǎng)上總結(jié)出了很多實(shí)用的PHP代碼片段,這些代碼片段在當(dāng)你遇到類似的問(wèn)題時(shí),粘貼過(guò)去就可以使用,非常的高效,非常的省時(shí)省力嚎莉。將這些程序員前輩總結(jié)出的優(yōu)秀代碼放到自己的知識(shí)庫(kù)中,是一個(gè)善于學(xué)習(xí)的程序員的好習(xí)慣。
一沛豌、黑名單過(guò)濾
function is_spam($text, $file, $split = ':', $regex = false){
$handle = fopen($file, 'rb');
$contents = fread($handle, filesize($file));
fclose($handle);
$lines = explode("n", $contents);
$arr = array();
foreach($lines as $line){
list($word, $count) = explode($split, $line);
if($regex)
$arr[$word] = $count;
else
$arr[preg_quote($word)] = $count;
}
preg_match_all("~".implode('|', array_keys($arr))."~", $text, $matches);
$temp = array();
foreach($matches[0] as $match){
if(!in_array($match, $temp)){
$temp[$match] = $temp[$match] + 1;
if($temp[$match] >= $arr[$word])
return true;
}
}
return false;
}
$file = 'spam.txt';
$str = 'This string has cat, dog word';
if(is_spam($str, $file))
echo 'this is spam';
else
echo 'this is not spam';
ab:3
dog:3
cat:2
monkey:2
二萝喘、隨機(jī)顏色生成器
function randomColor() {
$str = '#';
for($i = 0 ; $i < 6 ; $i++) {
$randNum = rand(0 , 15);
switch ($randNum) {
case 10: $randNum = 'A'; break;
case 11: $randNum = 'B'; break;
case 12: $randNum = 'C'; break;
case 13: $randNum = 'D'; break;
case 14: $randNum = 'E'; break;
case 15: $randNum = '九度快排系統(tǒng) https://www.190seo.comF'; break;
}
$str .= $randNum;
}
return $str;
}
$color = randomColor();
三、從網(wǎng)絡(luò)下載文件
set_time_limit(0);
// Supports all file types
// URL Here:
$url = 'http://somsite.com/some_video.flv';
$pi = pathinfo($url);
$ext = $pi['extension'];
$name = $pi['filename'];
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// grab URL and pass it to the browser
$opt = curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
$saveFile = $name.'.'.$ext;
if(preg_match("/[^0-9a-z._-]/i", $saveFile))
$saveFile = md5(microtime(true)).'.'.$ext;
$handle = fopen($saveFile, 'wb');
fwrite($handle, $opt);
fclose($handle);
四琼懊、Alexa/Google Page Rank
function page_rank($page, $type = 'alexa'){
switch($type){
case 'alexa':
$url = 'http://alexa.com/siteinfo/';
$handle = fopen($url.$page, 'r');
break;
case 'google':
$url = 'http://google.com/search?client=navclient-auto&ch=6-1484155081&features=Rank&q=info:';
$handle = fopen($url.'http://'.$page, 'r');
break;
}
$content = stream_get_contents($handle);
fclose($handle);
$content = preg_replace("~(n|t|ss+)~",'', $content);
switch($type){
case 'alexa':
if(preg_match('~
return $matches[2];
}else{
return FALSE;
}
break;
case 'google':
$rank = explode(':',$content);
if($rank[2] != '')
return $rank[2];
else
return FALSE;
break;
default:
return FALSE;
break;
}
}
// Alexa Page Rank:
echo 'Alexa Rank: '.page_rank('techug.com');
echo '
';
// Google Page Rank
echo 'Google Rank: '.page_rank('techug.com', 'google');
五、強(qiáng)制下載文件
$filename = $_GET['file']; //Get the fileid from the URL
// Query the file ID
$query = sprintf("SELECT * FROM tableName WHERE id='%s'",mysql_real_escape_string($filename));
$sql = mysql_query($query);
if(mysql_num_rows($sql) > 0){
$row = mysql_fetch_array($sql);
// Set some headers
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".basename($row['FileName']).";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($row['FileName']));
@readfile($row['FileName']);
exit(0);
}else{
header("Location: /");
exit;
}
六爬早、通過(guò)Email顯示用戶的Gravatar頭像
$gravatar_link = 'http://www.gravatar.com/avatar/' . md5($comment_author_email) . '?s=32';
echo '';
七哼丈、通過(guò)cURL獲取RSS訂閱數(shù)
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,'https://feedburner.google.com/api/awareness/1.0/GetFeedData?id=7qkrmib4r9rscbplq5qgadiiq4');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
$content = curl_exec($ch);
$subscribers = get_match('/circulation="(.*)"/isU',$content);
curl_close($ch);
八、時(shí)間差異計(jì)算函數(shù)
function ago($time)
{
$periods = array("second", "minute", "hour", "day", "week", "month", "year", "decade");
$lengths = array("60","60","24","7","4.35","12","10");
$now = time();
$difference = $now - $time;
$tense = "ago";
for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
$difference /= $lengths[$j];
}
$difference = round($difference);
if($difference != 1) {
$periods[$j].= "s";
}
return "$difference $periods[$j] 'ago' ";
}
九筛严、裁剪圖片
$filename= "test.jpg";
list($w, $h, $type, $attr) = getimagesize($filename);
$src_im = imagecreatefromjpeg($filename);
$src_x = '0'; // begin x
$src_y = '0'; // begin y
$src_w = '100'; // width
$src_h = '100'; // height
$dst_x = '0'; // destination x
$dst_y = '0'; // destination y
$dst_im = imagecreatetruecolor($src_w, $src_h);
$white = imagecolorallocate($dst_im, 255, 255, 255);
imagefill($dst_im, 0, 0, $white);
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h);
header("Content-type: image/png");
imagepng($dst_im);
imagedestroy($dst_im);
十醉旦、檢查網(wǎng)站是否宕機(jī)
function Visit($url){
$agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";$ch=curl_init();
curl_setopt ($ch, CURLOPT_URL,$url );
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch,CURLOPT_VERBOSE,false);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch,CURLOPT_SSLVERSION,3);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
$page=curl_exec($ch);
//echo curl_error($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode>=200 && $httpcode<300) return true;
else return false;
}
if (Visit("http://www.google.com"))
echo "Website OK"."n";
else
echo "Website DOWN";
CentOS 6.3 安裝LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm
在部署LNMP的時(shí)候遇到Nginx啟動(dòng)失敗的2個(gè)問(wèn)題 http://www.linuxidc.com/Linux/2013-03/81120.htm
Ubuntu安裝Nginx php5-fpm MySQL(LNMP環(huán)境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm
《細(xì)說(shuō)PHP》高清掃描PDF+光盤源碼+全套教學(xué)視頻 http://www.linuxidc.com/Linux/2014-03/97536.htm
PHP 的詳細(xì)介紹:請(qǐng)點(diǎn)這里
PHP 的下載地址:請(qǐng)點(diǎn)這里
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2014-12/110932.htm
Android調(diào)用系統(tǒng)攝像頭拍照并剪裁壓縮
Python學(xué)習(xí)要點(diǎn)和陷阱
相關(guān)資訊
PHP代碼樣例 PHP代碼
本文評(píng)論
查看全部評(píng)論 (0)
表情:
姓名:
匿名
字?jǐn)?shù)
同意評(píng)論聲明
評(píng)論聲明
尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
本站管理人員有權(quán)保留或刪除其管轄留言中的任意內(nèi)容
本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用您的評(píng)論
參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
最新資訊
CentOS 6.4下雙網(wǎng)卡bond配置
CentOS6.x雙網(wǎng)卡采用主-備份策略綁定(bond
ORA-30036故障解決方法案例
ORA-03114: 未連接到 ORALCE 解決方法案例
Oracle RAC系統(tǒng)內(nèi)存無(wú)法釋放解決
Oracle Goldengate在HP平臺(tái)裸設(shè)備文件系統(tǒng)
OGG升級(jí)運(yùn)行g(shù)gsic報(bào)Unable to find library
Linux vi命令大全
VMware虛擬機(jī)主機(jī)模式下與主機(jī)互ping通
Linux內(nèi)核中container_of函數(shù)詳解