欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

直接可以拿来用的PHP惯用功能代码片段(16~20)

程序员文章站 2024-04-05 18:18:12
...
直接可以拿来用的PHP常用功能代码片段(16~20)

文章来源: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) '), array('&', '"', ''), $string);
    $strcut = '';
    $n = $tn = $noc = 0;
    while($n = $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


18、PHP实现递归创建多级目录的通用方法

/**
 *
 +--------------------------------------------------------------------
 * Description 递归创建目录
 +--------------------------------------------------------------------
 * @param  string $dir 需要创新的目录
 +--------------------------------------------------------------------
 * @return 若目录存在,或创建成功则返回为TRUE
 +--------------------------------------------------------------------
 * @author gongwen
 +--------------------------------------------------------------------
 */
function mkdirs($dir, $mode = 0777){ 
	if (is_dir($dir) || mkdir($dir, $mode)) return TRUE; 
	if (!mkdirs(dirname($dir), $mode)) return FALSE; 
	return mkdir($dir, $mode); 
}


19、PHP实现递归删除目录的通用方法

/**
 *
 +--------------------------------------------------------------------
 * Description 递归删除目录
 +--------------------------------------------------------------------
 * @param  string $dir 需要删除的目录
 +--------------------------------------------------------------------
 * @return 若目录不存在或册除成功则返回为TRUE
 +--------------------------------------------------------------------
 * @author gongwen
 +--------------------------------------------------------------------
 */
function rmdirs($dir){
	if (!is_dir($dir) || rmdir($dir)) return TRUE;
	if($dir_handle=opendir($dir)){
		while($filename=readdir($dir_handle)){
			if($filename!='.' && $filename!='..'){
				$subFile=$dir.'/'.$filename;
			}
			is_dir($subFile)?rmdirs($subFile):unlink($subFile);
		}
		closedir($dir_handle);
		return rmdir($dir);
	}
}


20、PHP实现检测QQ状态的通用方法

function qq_status(){
    if (empty($qq))$qq = 429590191;
    $url = 'http://wpa.qq.com/pa?p=2:'.$qq.':52';
    $Headers = get_headers($url, 1);
    if ($Headers['Location']=='http://pub.idqqimg.com/qconn/wpa/button/button_121.gif'){
        $Status = 1;  //QQ在线
    }elseif ($Headers['Location']=='http://pub.idqqimg.com/qconn/wpa/button/button_120.gif'){
        $Status = 2;  //QQ离线
    }else {
        $Status = 0;  //未知
    }
        
    Return $Status;
        
}
//测试数据
$qqwp = qq_status('429590191');  //测试QQ是否在线,返回1=在线,返回2=离线,返回0=错误
if ($qqwp==1){
    echo 'QQ在线';
}elseif ($qqwp==2){
    echo 'QQ离线';
}else {
    echo '出错了';
}


?

直接可以拿来用的PHP惯用功能代码片段(16~20)

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 直接可以拿来用的PHP惯用功能代码片段(16~20)
  • 专题推荐