# punlicFunction **Repository Path**: dlm2015/punlicFunction ## Basic Information - **Project Name**: punlicFunction - **Description**: 常用JS和PHP代码函数库--主要是自已用过的一些比较常用的函数方法。可以直接使用!**JQUERY需要引入JQUERY版本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2016-05-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ############################################ 以下为个人常用的一些FUNCTION 方法,有些是自已写的,有些是互联网查找出来,主要是为了方便可以马止用 #################################### /** * 根据特定规则对数组进行排序 * * 提取多维数组的某个键名,以便把数组转换成一位数组进行排序(注意:不支持下标,否则排序会出错) * * @param array * @param string * @param string * @return array */ aasort /** * 获取用户 IP * * @return string */ fetch_ip /** * 验证 IP 地址是否为内网 IP * * @param string * @return string */ valid_internal_ip($ip) /** * 校验 IP 有效性 * * @param string * @return boolean */ valid_ip($ip) /** * 兼容性转码 * * 系统转换编码调用此函数, 会自动根据当前环境采用 iconv 或 MB String 处理 * * @param string * @param string * @param string * @return string */ convert_encoding /** * 兼容性转码 (数组) * * 系统转换编码调用此函数, 会自动根据当前环境采用 iconv 或 MB String 处理, 支持多维数组转码 * * @param array * @param string * @param string * @return array */ convert_encoding_array($data, $from_encoding = 'GBK', $target_encoding = 'UTF-8') /** * 双字节语言版 strpos * * 使用方法同 strpos() * * @param string * @param string * @param int * @param string * @return string */ cjk_strpos($haystack, $needle, $offset = 0, $charset = 'UTF-8') /** * 双字节语言版 substr * * 使用方法同 substr(), $dot 参数为截断后带上的字符串, 一般场景下使用省略号 * * @param string * @param int * @param int * @param string * @param string * @return string */ cjk_substr($string, $start, $length, $charset = 'UTF-8', $dot = '') /** * 字符串截取,支持中文和其他编码 * @param [string] $str [字符串] * @param integer $start [起始位置] * @param integer $length [截取长度] * @param string $charset [字符串编码] * @param boolean $suffix [是否有省略号] * @return [type] [description] */ msubstr($str, $start=0, $length=15, $charset="utf-8", $suffix=true) /** * 双字节语言版 strlen * * 使用方法同 strlen() * * @param string * @param string * @return string */ cjk_strlen($string, $charset = 'UTF-8') /** * 递归创建目录 * * 与 mkdir 不同之处在于支持一次性多级创建, 比如 /dir/sub/dir/ * * @param string * @param int * @return boolean */ make_dir($dir, $permission = 0777) /** * jQuery jsonp 调用函数 * * 用法同 json_encode * * @param array * @param string * @return string */ jsonp_encode($json = array(), $callback = 'jsoncallback') /** * 时间友好型提示风格化(即微博中的XXX小时前、昨天等等) * * 即微博中的 XXX 小时前、昨天等等, 时间超过 $time_limit 后返回按 out_format 的设定风格化时间戳 * * @param int * @param int * @param string * @param array * @param int * @return string */ date_friendly($timestamp, $time_limit = 604800, $out_format = 'Y-m-d H:i', $formats = null, $time_now = null) /** * 获得几天前,几小时前,几月前 * @param int $time 时间戳 * @param array $unit 时间单位 * @return bool|string */ date_before($time, $unit = null) /** * 根据一个时间戳得到详细信息 * @param [type] $time [时间戳] * @return [type] * @author [yangsheng@yahoo.com] */ getDateInfo($time) /** * 获得日期是上中下旬 * @param [int] $j [几号] * @return [array] [description] * @author [yangsheng@yahoo.com] */ getTenDays($j) /** * 根据月份获得当前第几季度 * @param [int] $n [月份] * @param [int] $y [年] * @return [array] [description] */ getQuarter($n,$y=null) /** * 载入类库, 并实例化、加入队列 * * 路径从 system 开始计算,并遵循 Zend Freamework 路径表示法,即下划线 _ 取代 / , 如 core_config 表示 system/core/config.php * * @param string * @return object */ &load_class($class) _show_error($exception_message) show_error($exception_message, $error_message = '') /** * 判断文件或目录是否可写 * * @param string * @return boolean */ is_really_writable($file) /** * 生成密码种子 * * @param integer * @return string */ fetch_salt($length = 4) /** * 根据 salt 混淆密码 * * @param string * @param string * @return string */ compile_password($password, $salt) /** * 伪静态地址转换器 * * @param string * @return string */ get_js_url($url) /** * 构造或解析路由规则后得到的请求地址数组 * * 返回二维数组, 二位数组, 每个规则占据一条, 被处理的地址通过下标 0 返回, 处理后的地址通过下标 1 返回 * * @param boolean * @return array */ get_request_route($positive = true) /** * 删除 UBB 标识码 * * @param string * @return string */ strip_ubb($str) /** * 获取数组中随机一条数据 * * @param array * @return mixed */ array_random($arr) /** * 获得二维数据中第二维指定键对应的值,并组成新数组 (不支持二维数组) * * @param array * @param string * @return array */ fetch_array_value($array, $key) /** * 强制转换字符串为整型, 对数字或数字字符串无效 * * @param mixed */ intval_string(&$value) /** * 获取时差 * * @return string */ get_time_zone() /** * 递归读取文件夹的文件列表 * * 读取的目录路径可以是相对路径, 也可以是绝对路径, $file_type 为指定读取的文件后缀, 不设置则读取文件夹内所有的文件 * * @param string * @param string * @return array */ fetch_file_lists($dir, $file_type = null) /** * 判断是否是合格的手机客户端 * * @return boolean */ is_mobile() /** * 判断是否处于微信内置浏览器中 * * @return boolean */ in_weixin() /** * CURL 获取文件内容 * * 用法同 file_get_contents * * @param string * @param integerr * @return string */ curl_get_contents($url, $timeout = 10) /** * 删除网页上看不见的隐藏字符串, 如 Java\0script * * @param string */ remove_invisible_characters(&$str, $url_encoded = TRUE) /** * 打印输出数据 * @param void $var */ show($var) /** * 获得浏览器版本 */ browser_info() /** * 跳转网址 * @param string $url 跳转urlg * @param int $time 跳转时间 * @param string $msg */ go($url, $time = 0, $msg = '') /** * 是否为AJAX提交 * @return boolean */ ajax_request() /** * 对数组或字符串进行转义处理,数据可以是字符串或数组及对象 * @param void $data * @return type */ addslashes_d($data) /** * 去除转义 * @param type $data * @return type */ stripslashes_d($data) /** * 将数组转为字符串表示形式 * @param array $array 数组 * @param int $level 等级不要传参数 * @return string */ array_to_String($array, $level = 0) /** * 获得随机字符串 * @param int $len 长度 * @return string */ rand_str($len = 6) /** * 用户定义常量 * @param bool $view 是否显示 * @param bool $tplConst 是否只获取__WEB__这样的常量 * @return array */ print_const($view = true, $tplConst = false) /** * 获取url * @return [type] [description] */ getUrl() /** * 获取当前站点的访问路径根目录 * @return [type] [description] */ getSiteUrl() /** * 下载 * @param [type] $filename [description] * @param string $dir [description] * @return [type] [description] */ downloads($filename,$dir='./') /** * 创建一个目录树 * @param [type] $dir [description] * @param integer $mode [description] * @return [type] [description] */ mkdirs($dir, $mode = 0777) /********************************************************************* $id = "http://www.xiaoshuoshu.org/files/article/html/0/160/index.html"; $token = encrypt($id, 'E', 'qingdou'); echo '加密:'.encrypt($id, 'E', 'qingdou'); echo '
'; echo '解密:'.encrypt($token, 'D', 'qingdou'); 函数名称:encrypt 函数作用:加密解密字符串 使用方法: 加密 :encrypt('str','E','qingdou'); 解密 :encrypt('被加密过的字符串','D','qingdou'); 参数说明: $string :需要加密解密的字符串 $operation:判断是加密还是解密:E:加密 D:解密 $key :加密的钥匙(密匙); *********************************************************************/ encrypt($string,$operation,$key='') /** * “抽奖”函数 * * @param integer $first 起始编号 * @param integer $last 结束编号 * @param integer $total 获奖人数 * * @return string * */ isWinner($first, $last, $total) // for test // echo isWinner(1, 100, 30); /** * [msginfo 消息提示,] * @param [type] $msg [STR, 字符型,提示信息] * @param string $urlNumber [数字,-1为上一页,-2为上两页] * @return [type] [description] */ msginfo($msg,$urlNumber='-1') /** * [zeroCss 0和1的一个判断,1就显示为OK,或者对号,,] * @param [type] $number [STR, 字符型,提示信息] * @param string $tyle [1,为对号和错号;2为OK和不OK] * @return [type] [description] */ zeroCss($number,$style="1") /** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $keyword 创建照片的文件名 * @param string $oriweb 网址 * @return string * @param string $savepath 保存路径 * */ replaceimg($xstr,$keyword, $oriweb,$savepath) /** * [GrabImage 保存远程图片至本地] * @param [type] $url [远程图片地址] * @param string $filename [保存图片名] */ GrabImage($url,$filename="")