关于php常用自定义函数_检查密码长度是否符合规定_生成缩略图函数_水印添加以下文字资料是由3搜网小编为大家搜集整理后发布的内容,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php常用自定义函数_检查密码长度是否符合规定_生成缩略图函数_水印添加”文章吧。
/** * 检查密码长度是否符合规定 * * @param STRING $password * @return TRUE or FALSE */ function is_password($password) { $strlen = strlen($password); if($strlen >= 6 && $strlen <= 20) return true; return false; } /** * 检测输入中是否含有错误字符 * * @param char $string 要检查的字符串名称 * @return TRUE or FALSE */ function is_badword($string) { $badwords = array("\\",'&',' ',"'",'"','/','*',',','<','>',"\r","\t","\n","#"); foreach($badwords as $value){ if(strpos($string, $value) !== FALSE) { return TRUE; } } return FALSE; } /** * 检查用户名是否符合规定 * * @param STRING $username 要检查的用户名 * @return TRUE or FALSE */ function is_username($username) { $strlen = strlen($username); if(is_badword($username) || !preg_match("/^[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+$/", $username)){ return false; } elseif ( 20 < $strlen || $strlen < 2 ) { return false; } return true; } /** * 检查id是否存在于数组中 * * @param $id * @param $ids * @param $s */ function check_in($id, $ids = '', $s = ',') { if(!$ids) return false; $ids = explode($s, $ids); return is_array($id) ? array_intersect($id, $ids) : in_array($id, $ids); } /** * 对数据进行编码转换 * @param array/string $data 数组 * @param string $input 需要转换的编码 * @param string $output 转换后的编码 */ function array_iconv($data, $input = 'gbk', $output = 'utf-8') { if (!is_array($data)) { return iconv($input, $output, $data); } else { foreach ($data as $key=>$val) { if(is_array($val)) { $data[$key] = array_iconv($val, $input, $output); } else { $data[$key] = iconv($input, $output, $val); } } return $data; } } /** * 生成缩略图函数 * @param $imgurl 图片路径 * @param $width 缩略图宽度 * @param $height 缩略图高度 * @param $autocut 是否自动裁剪 默认裁剪,当高度或宽度有一个数值为0是,自动关闭 * @param $smallpic 无图片是默认图片路径 */ function thumb($imgurl, $width = 100, $height = 100 ,$autocut = 1, $smallpic = 'nopic.gif') { global $image; $upload_url = app_base::load_config('system','upload_url'); $upload_path = app_base::load_config('system','upload_path'); if(empty($imgurl)) return IMG_PATH.$smallpic; $imgurl_replace= str_replace($upload_url, '', $imgurl); if(!extension_loaded('gd') || strpos($imgurl_replace, '://')) return $imgurl; if(!file_exists($upload_path.$imgurl_replace)) return IMG_PATH.$smallpic; list($width_t, $height_t, $type, $attr) = getimagesize($upload_path.$imgurl_replace); if($width>=$width_t || $height>=$height_t) return $imgurl; $newimgurl = dirname($imgurl_replace).'/thumb_'.$width.'_'.$height.'_'.basename($imgurl_replace); if(file_exists($upload_path.$newimgurl)) return $upload_url.$newimgurl; if(!is_object($image)) { app_base::load_sys_class('image','','0'); $image = new image(1,0); } return $image->thumb($upload_path.$imgurl_replace, $upload_path.$newimgurl, $width, $height, '', $autocut) ? $upload_url.$newimgurl : $imgurl; } /** * 水印添加 * @param $source 原图片路径 * @param $target 生成水印图片途径,默认为空,覆盖原图 * @param $siteid 站点id,系统需根据站点id获取水印信息 */ function watermark($source, $target = '',$siteid) { global $image_w; if(empty($source)) return $source; if(!extension_loaded('gd') || strpos($source, '://')) return $source; if(!$target) $target = $source; if(!is_object($image_w)){ app_base::load_sys_class('image','','0'); $image_w = new image(0,$siteid); } $image_w->watermark($source, $target); return $target; } /** * 当前路径 * 返回指定栏目路径层级 * @param $catid 栏目id * @param $symbol 栏目间隔符 */ function catpos($catid, $symbol=' > '){ $category_arr = array(); $siteids = getcache('category_content','commons'); $siteid = $siteids[$catid]; $category_arr = getcache('category_content_'.$siteid,'commons'); if(!isset($category_arr[$catid])) return ''; $pos = ''; $siteurl = siteurl($category_arr[$catid]['siteid']); $arrparentid = array_filter(explode(',', $category_arr[$catid]['arrparentid'].','.$catid)); foreach($arrparentid as $catid) { $url = $category_arr[$catid]['url']; // if(strpos($url, '://') === false) $url = $siteurl.$url; $pos .= '<a href="'.$url.'">'.$category_arr[$catid]['catname'].'</a>'.$symbol; } return $pos; } /** * 根据catid获取子栏目数据的sql语句 * @param string $module 缓存文件名 * @param intval $catid 栏目ID */ function get_sql_catid($file = 'category_content_1', $catid = 0, $module = 'commons') { $category = getcache($file,$module); $catid = intval($catid); if(!isset($category[$catid])) return false; return $category[$catid]['child'] ? " catid IN(".$category[$catid]['arrchildid'].") " : " catid=$catid "; } /** * 获取子栏目 * @param $parentid 父级id * @param $type 栏目类型 * @param $self 是否包含本身 0为不包含 * @param $siteid 站点id */ function subcat($parentid = NULL, $type = NULL,$self = '0', $siteid = '') { if (empty($siteid)) $siteid = get_siteid(); $category = getcache('category_content_'.$siteid,'commons'); foreach($category as $id=>$cat) { if($cat['siteid'] == $siteid && ($parentid === NULL || $cat['parentid'] == $parentid) && ($type === NULL || $cat['type'] == $type)) $subcat[$id] = $cat; if($self == 1 && $cat['catid'] == $parentid && !$cat['child']) $subcat[$id] = $cat; } return $subcat; } /** * 获取内容地址 * @param $catid 栏目ID * @param $id 文章ID * @param $allurl 是否以绝对路径返回 */ function go($catid,$id, $allurl = 0) { static $category; if(empty($category)) { $siteids = getcache('category_content','commons'); $siteid = $siteids[$catid]; $category = getcache('category_content_'.$siteid,'commons'); } $id = intval($id); if(!$id || !isset($category[$catid])) return ''; $modelid = $category[$catid]['modelid']; if(!$modelid) return ''; $db = app_base::load_model('content_model'); $db->set_model($modelid); $r = $db->setCache()->get_one(array('id'=>$id), 'url'); if (!empty($allurl)) { if (strpos($r['url'], '://')===false) { if (strpos($category[$catid]['url'], '://') === FALSE) { $site = siteinfo($category[$catid]['siteid']); $r['url'] = substr($site['domain'], 0, -1).$r['url']; } else { $r['url'] = $category[$catid]['url'].$r['url']; } } } return $r['url']; } /** * 将附件地址转换为绝对地址 * @param $path 附件地址 */ function atturl($path) { if(strpos($path, ':/')) { return $path; } else { $sitelist = getcache('sitelist','commons'); $siteid = get_siteid(); $siteurl = $sitelist[$siteid]['domain']; $domainlen = strlen($sitelist[$siteid]['domain'])-1; $path = $siteurl.$path; $path = substr_replace($path, '/', strpos($path, '//',$domainlen),2); return $path; } } /** * 判断模块是否安装 * @param $m 模块名称 */ function module_exists($m = '') { if ($m=='admin') return true; $modules = getcache('modules', 'commons'); $modules = array_keys($modules); return in_array($m, $modules); } /** * 生成SEO * @param $siteid 站点ID * @param $catid 栏目ID * @param $title 标题 * @param $description 描述 * @param $keyword 关键词 */ function seo($siteid, $catid = '', $title = '', $description = '', $keyword = '') { if (!empty($title))$title = strip_tags($title); if (!empty($description)) $description = strip_tags($description); if (!empty($keyword)) $keyword = str_replace(' ', ',', strip_tags($keyword)); $sites = getcache('sitelist', 'commons'); $site = $sites[$siteid]; $cat = array(); if (!empty($catid)) { $siteids = getcache('category_content','commons'); $siteid = $siteids[$catid]; $categorys = getcache('category_content_'.$siteid,'commons'); $cat = $categorys[$catid]; $cat['setting'] = string2array($cat['setting']); } $seo['site_title'] =isset($site['site_title']) && !empty($site['site_title']) ? $site['site_title'] : $site['name']; $seo['keyword'] = !empty($keyword) ? $keyword : $site['keywords']; $seo['description'] = isset($description) && !empty($description) ? $description : (isset($cat['setting']['meta_description']) && !empty($cat['setting']['meta_description']) ? $cat['setting']['meta_description'] : (isset($site['description']) && !empty($site['description']) ? $site['description'] : '')); $seo['title'] = (isset($title) && !empty($title) ? $title.' - ' : '').(isset($cat['setting']['meta_title']) && !empty($cat['setting']['meta_title']) ? $cat['setting']['meta_title'].' - ' : (isset($cat['catname']) && !empty($cat['catname']) ? $cat['catname'].' - ' : '')); foreach ($seo as $k=>$v) { $seo[$k] = str_replace(array("\n","\r"), '', $v); } return $seo; } /** * 获取站点的信息 * @param $siteid 站点ID */ function siteinfo($siteid) { static $sitelist; if (empty($sitelist)) $sitelist = getcache('sitelist','commons'); return isset($sitelist[$siteid]) ? $sitelist[$siteid] : ''; } /** * 生成CNZZ统计代码 */ function tjcode() { if(!module_exists('cnzz')) return false; $config = getcache('cnzz', 'commons'); if (empty($config)) { return false; } else { return '<script src=\'http://pw.cnzz.com/c.php?id='.$config['siteid'].'&l=2\' language=\'JavaScript\' charset=\'gb2312\'></script>'; } } /** * 生成标题样式 * @param $style 样式 * @param $html 是否显示完整的STYLE */ function title_style($style, $html = 1) { $str = ''; if ($html) $str = ' style="'; $style_arr = explode(';',$style); if (!empty($style_arr[0])) $str .= 'color:'.$style_arr[0].';'; if (!empty($style_arr[1])) $str .= 'font-weight:'.$style_arr[1].';'; if ($html) $str .= '" '; return $str; } /** * 获取站点域名 * @param $siteid 站点id */ function siteurl($siteid) { static $sitelist; return WEB_PATH; // if(!$siteid) return WEB_PATH; // if(empty($sitelist)) $sitelist = getcache('sitelist','commons'); // return substr($sitelist[$siteid]['domain'],0,-1); } /** * 生成上传附件验证 * @param $args 参数 * @param $operation 操作类型(加密解密) */ function upload_key($args) { $pc_auth_key = md5(app_base::load_config('system','auth_key').$_SERVER['HTTP_USER_AGENT']); $authkey = md5($args.$pc_auth_key); return $authkey; } /** * 文本转换为图片 * @param string $txt 图形化文本内容 * @param int $fonttype 无外部字体时生成文字大小,取值范围1-5 * @param int $fontsize 引入外部字体时,字体大小 * @param string $font 字体名称 字体请放于app\libs\data\font下 * @param string $fontcolor 字体颜色 十六进制形式 如FFFFFF,FF0000 */ function string2img($txt, $fonttype = 5, $fontsize = 16, $font = '', $fontcolor = 'FF0000',$transparent = '1') { if(empty($txt)) return false; if(function_exists("imagepng")) { $txt = urlencode(sys_auth($txt)); $txt = '<img src="'.APP_PATH.'api.php?op=creatimg&txt='.$txt.'&fonttype='.$fonttype.'&fontsize='.$fontsize.'&font='.$font.'&fontcolor='.$fontcolor.'&transparent='.$transparent.'" align="absmiddle">'; } return $txt; } /** * 获取系统版本号 */ function get_pc_version($type='') { $version = app_base::load_config('version'); if($type==1) { return $version['pc_version']; } elseif($type==2) { return $version['pc_release']; } else { return $version['pc_version'].' '.$version['pc_release']; } }
以上就是关于“php常用自定义函数_检查密码长度是否符合规定_生成缩略图函数_水印添加”这篇文章的内容,希望分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注3搜网技术频道。