6个超实用的PHP代码片段


Posted in PHP onAugust 10, 2015

一、黑名单过滤

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

四、强制下载文件

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

五、截取图片

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

以上就是6个超实用的PHP代码样例,希望对大家学习PHP编程有所帮助,果断收藏吧

PHP 相关文章推荐
使用php+xslt在windows平台上
Oct 09 PHP
建立文件交换功能的脚本(一)
Oct 09 PHP
一个简洁的多级别论坛
Oct 09 PHP
PHP 5.0 Pear安装方法
Dec 06 PHP
生成静态页面的php函数,php爱好者站推荐
Mar 19 PHP
用PHP实现图象锐化代码
Jun 14 PHP
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
解读PHP中的垃圾回收机制
Aug 10 #PHP
php实现多城市切换特效
Aug 09 #PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 #PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 #PHP
PHP实现多维数组转字符串和多维数组转一维数组的方法
Aug 08 #PHP
Smarty使用自定义资源的方法
Aug 08 #PHP
SESSION存放在数据库用法实例
Aug 08 #PHP
You might like
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
js 操作符汇总
2014/11/08 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
javascript实现随机显示星星特效
2016/01/28 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
Python常用正则表达式符号浅析
2014/08/13 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
对python中的argv和argc使用详解
2018/12/15 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
python加载自定义词典实例
2019/12/06 Python
Python计算公交发车时间的完整代码
2020/02/12 Python
奇怪的鱼:Weird Fish
2018/03/18 全球购物
老师给学生的表扬信
2014/01/17 职场文书
银行工作检查书范文
2014/01/31 职场文书
称象教学反思
2014/02/03 职场文书
工商行政管理专业求职书
2014/05/23 职场文书
人力资源求职信
2014/05/25 职场文书
合伙购房协议样本
2014/10/06 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
管辖权异议上诉状
2015/05/23 职场文书
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技