10个超级有用值得收藏的PHP代码片段

尽管PHP经常被人诟病,被人贬低,被人当玩笑开,事实证明,PHP是全世界网站开发中使用率最高的编程语言。PHP最大的缺点是太简单,语法不严谨,框架体系很弱,但这也是它最大的优点,一个有点编程背景的普通人,只需要学习PHP半天时间,就可以上手开始开发web应用了。

网上有人总结几种编程语言的特点,我觉得也挺有道理的:

代码如下:

在PHP的流行普及中,网上总结出了很多实用的PHP代码片段,这些代码片段在当你遇到类似的问题时,粘贴过去就可以使用,非常的高效,非常的省时省力。将这些程序员前辈总结出的优秀代码放到自己的知识库中,是一个善于学习的程序员的好习惯。

一、黑名单过滤

代码如下:
= $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

二、随机颜色生成器

代码如下:

三、从网络下载文件

代码如下:

// 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,CURLOPT_FOLLOWLOCATION,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('~

(.+?)
~im',$content,$matches)){ 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');

五、强制下载文件

代码如下:
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; }

六、通过Email显示用户的Gravatar头像

代码如下:
';

七、通过cURL获取RSS订阅数

代码如下:

八、时间差异计算函数

代码如下:

$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' "; }

九、裁剪图片

代码如下:

$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); imagefill($dst_im,$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);

十、检查网站是否宕机

代码如下:
=200 && $httpcode<300) return true; else return false; } if (Visit("http://www.google.com")) echo "Website OK"."n"; else echo "Website DOWN";

相关文章

如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较