关于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搜网技术频道。


