公共函数
//根据祖先找子代
1 function getSonIdByCateId($cate_id,&$arr){ 2 $sql = "select id from category where pid = $cate_id"; 3 $rows = getAll($sql); 4 if($rows){ 5 foreach ($rows as $v){ 6 $arr[] = $v['id']; 7 getSonIdByCateId($v['id'],$arr); 8 } 9 } 10 11 return $arr; 12 }
//curl函数获取网址状态码
function getHttpState($url)
{
//初始化一个新的会话,返回一个cURL句柄
$ch = curl_init ();
//需要获取的 URL 地址,也可以在curl_init() 初始化会话的时候。
curl_setopt($ch, CURLOPT_URL, $url);
//允许 cURL 函数执行的最长秒数。
curl_setopt($ch, CURLOPT_TIMEOUT, 200);
//启用时会将头文件的信息作为数据流输出。
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//true 时将不输出 BODY 部分。同时 Mehtod 变成了 HEAD。修改为 false 时不会变成 GET。
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
//全部数据使用HTTP协议中的 "POST" 操作来发送。 要发送文件,
#curl_setopt( $ch, CURLOPT_POSTFIELDS, "username=".$username."&password=".$password );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// true 时将会根据服务器返回 HTTP 头中的 "Location: " 重定向
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
//HTTP 请求时,使用自定义的 Method 来代替"GET"或"HEAD"。对 "DELETE" 或者其他更隐蔽的 HTTP 请求有用。
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
//执行一个curl 执行给定的cURL会话。
curl_exec($ch);
//获取一个cURL连接资源句柄的信息 最后一个收到的HTTP代码
return curl_getinfo($ch,CURLINFO_HTTP_CODE);
}
//无限极分类
1 function unlimit_category($rows) 2 { 3 $arr=[]; 4 foreach ($rows as $row) 5 $arr[$row['id']]=$row; 6 $brr=[];//总数组一级分类 7 foreach ($arr as $v){ 8 if (isset($arr[$v['pid']])){ 9 $arr[$v['pid']]['son'][]=&$arr[$v['id']];//一级分类下的分类 10 }else{ 11 $brr[]=&$arr[$v['id']]; 12 } 13 } 14 return $brr; 15 }
// 根据当前的id 查询 顶级id 一级id
1 function getParentIdByCateId($tablename,$cate_id,$filed="*"){ 2 static $arr = []; 3 $sql = "select $filed from $tablename where id = $cate_id"; 4 $row = getOne($sql); 5 if($row && $row['pid'] > 0){ 6 $arr[] = $row['id']; 7 // 继续递归查询 8 getParentIdByCateId($tablename,$row['pid']); 9 }else{ 10 $arr[] = $row['id']; 11 } 12 return $arr; 13 14 }

浙公网安备 33010602011771号