php常用自定义函数_检查密码长度是否符合规定_生成缩略图函数_水印添加

您的位置:3搜网 > 技术 > php常用自定义函数_检查密码长度是否符合规定_生成缩略图函数_水印添加

php常用自定义函数_检查密码长度是否符合规定_生成缩略图函数_水印添加

来源:3搜网分类:技术时间:2022-07-07 15:09:08浏览量:

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