文章来源:jquery教程?-?http://www.jq-school.com/Show.aspx?id=328
?
前面已经分享了
1、PHP常用功能代码片段(1~5)
2、PHP常用功能代码片段(6~10)
3、PHP常用功能代码片段(11~15)
今天是第4篇,主要有截取字符串、计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)、实现递归创建多级目录、递归删除目录、检测QQ状态等功能,也就是第16到20这5个实用代码片段,希望可以帮到jquery学堂群里面的成员和广大对PHP开发的网友们提高开发效率,以下是第4篇文章。
16、PHP实现截取字符串的通用方法
/** * 截取字符串 * params $string 要截取的字符串 * params $length: 保留长度(字符数) * params $dot: 多余部分显示 **/ function _cutstr($string, $length, $dot = ' ...') { if(strlen($string) <= $length) { return $string; } $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string); $strcut = ''; $n = $tn = $noc = 0; while($n < strlen($string)) { $t = ord($string[$n]); if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) { $tn = 1; $n++; $noc++; } elseif(194 <= $t && $t <= 223) { $tn = 2; $n += 2; $noc += 2; } elseif(224 <= $t && $t < 239) { $tn = 3; $n += 3; $noc += 2; } elseif(240 <= $t && $t <= 247) { $tn = 4; $n += 4; $noc += 2; } elseif(248 <= $t && $t <= 251) { $tn = 5; $n += 5; $noc += 2; } elseif($t == 252 || $t == 253) { $tn = 6; $n += 6; $noc += 2; } else { $n++; } if($noc >= $length) { break; } } if($noc > $length) { $n -= $tn; } $strcut = substr($string, 0, $n); $strcut = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $strcut); return $strcut.$dot; }
17、PHP实现计算一年多少个星期,返回一个星期的开始时间和结束时间(可选返回时间戳或日期)
function getWeekStartAndEnd ($year,$week=1) { header("Content-type:text/html;charset=utf-8"); date_default_timezone_set("Asia/Shanghai"); $year = (int)$year; $week = (int)$week; //按给定的年份计算本年周总数 $date = new DateTime; $date->setISODate($year, 53); $weeks = max($date->format("W"),52); //如果给定的周数大于周总数或小于等于0 if($week>$weeks || $week<=0){ return false; } //如果周数小于10 if($week<10){ $week = '0'.$week; } //当周起止时间戳 $timestamp['start'] = strtotime($year.'W'.$week); $timestamp['end'] = strtotime('+1 week -1 day',$timestamp['start']); //当周起止日期 $timeymd['start'] = date("Y-m-d",$timestamp['start']); $timeymd['end'] = date("Y-m-d",$timestamp['end']); //返回起始时间戳 return $timestamp; //返回日期形式 //return $timeymd; }
18、PHP实现递归创建多级目录的通用方法
/** * +-------------------------------------------------------------------- * Description 递归创建目录 +-------------------------------------------------------------------- * @param string $dir 需要创新的目录 +-------------------------------------------------------------------- * @return 若目录存在,或创建成功则返回为T