PHP开发中常用的十个代码样例


Posted in PHP onFebruary 02, 2016

一、黑名单过滤

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

二、随机颜色生成器

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 = ‘F‘; break; 
} 
$str .= $randNum; 
} 
return $str; 
} 
$color = randomColor();

三、从网上下载文件

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(‘~<div class="data (down|up)"><img.+?>(.+?) </div>~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‘);

五、强制下载文件

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

六、用Email显示用户的Gravator头像

$gravatar_link = ‘http://www.gravatar.com/avatar/‘ . md5($comment_author_email) . ‘?s=32‘; 
echo ‘<img src="‘ . $gravatar_link . ‘" />‘;

七、用cURL获取RSS订阅数

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

八、时间差异计算

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

十、检查网站是否宕机

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

以上内容针对PHP开发中常用的十个代码样例做了总结,希望对大家有所帮助。

PHP 相关文章推荐
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
PHP中如何调用webservice的实例参考
Apr 25 PHP
PHP之生成GIF动画的实现方法
Jun 07 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
将php数组输出html表格的方法
Feb 24 PHP
PHP 函数call_user_func和call_user_func_array用法详解
Mar 02 PHP
thinkphp实现多语言功能(语言包)
Mar 04 PHP
linux使用crontab实现PHP执行计划定时任务
May 10 PHP
PHP CURL 多线程操作代码实例
May 13 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 PHP
必须收藏的php实用代码片段
Feb 02 #PHP
PHP执行linux命令常用函数汇总
Feb 02 #PHP
必须收藏的23个php实用代码片段
Feb 02 #PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 #PHP
PHP自带方法验证邮箱是否存在
Feb 01 #PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 #PHP
实例详解PHP中html word 互转的方法
Jan 28 #PHP
You might like
第五节 克隆 [5]
2006/10/09 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
JavaScript 语言的递归编程
2010/05/18 Javascript
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
javascript中常用编程知识
2013/04/08 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
本人自用的global.js库源码分享
2015/02/28 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
详解 vue better-scroll滚动插件排坑
2018/02/08 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
js实现轮播图特效
2020/05/28 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
python复制文件的方法实例详解
2015/05/22 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
2019/03/14 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
Python双链表原理与实现方法详解
2020/02/22 Python
Django数据库操作之save与update的使用
2020/04/01 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
中国电视购物:快乐购
2017/02/04 全球购物
函授大学生自我鉴定
2014/02/05 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
家长通知书家长评语
2014/04/17 职场文书
教师政风行风评议心得体会
2014/10/21 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
安全教育主题班会总结
2015/08/14 职场文书
信息技术研修心得体会
2016/01/08 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书