会点点代码修改,会各种程序上手运营,会电商,会运营,还会吃点喝点!*_*
当前位置:首页- emlog MVC解构27 - 基础函数库function.base.php

emlog MVC解构27 - 基础函数库function.base.php

作者:李元波发布时间:2024-12-12 09:01分类: 日常 浏览:25评论:0


导读:emlog的基础函数库有很多有用的功能函数,不仅在emlog框架能用,在其他地方也是很实用。 函数 注释 function __autoload($class) 魔术方法...

emlog的基础函数库有很多有用的功能函数,不仅在emlog框架能用,在其他地方也是很实用。

函数 注释
function __autoload($class) 魔术方法,自动加载类,$class是类名,emlog类文件名为小写的类名.php,函数会自动将类名转换为小写
function doStripslashes()
function stripslashesDeep($value)
去除多余的转义字符,前一个函数判断php是否开启magic_quotes_gpc,开启则调用后面一个函数将$_GET,$_POST,$_COOKIE,$_REQUEST数组里面的转义字符去除,后一个函数将递归数组每一层去除转义字符,参数$value可以为数组或变量
function htmlClean($content,$nl2br=true) 转换HTML代码函数,$content为内容字符串,函数首先将html预定义字符转换为HTML实体,并用UTF-8编码,$nl2br默认为true,则调用nl2br函数将字符串里面的换行转换成<br>,同时将相连的两个空格转换成'  ',制表符'\t'转换成'    ',返回转换成功的字符串
function getIp() 获取返回用户IP
funtion getBlogUrl() 获取返回站点地址,仅限根目录脚本使用,目前仅用于首页ajax请求
function isIEOr7() 判断浏览器是不是IE6或IE7,是返回true,否则返回false
function checkPlugin($plugin) 检查插件是否安装,$plugin为插件根目录名和插件入口文件名除去后缀一致
function emLoadJQuery() 加载JQuery,采用一个静态变量保存加载状态,防止重复加载,同时利用全局变量$emHooks['index_head']钩子,将一个输出引用JQuery内容的函数挂载到钩子上,可学习函数使用钩子的方法
function checkMail($email) 验证email地址格式,注意emlog的email长度不能超过60个字符
function subString($strings,$start,$length) 若PHP存在mb_substr和mb_strlen函数,即PHP版本高于4.0.6,采用安全可靠的mb_substr来截取字符串,在截取特殊字符例如中文时不会出现乱码,编码设置为'utf8',$strings为字符串,$start为开始位置,$length为截取长度,原字符串的长度大于截取长度时,在截取字符串后面添加'...',否则直接输出截取的字符串。若PHP不存在mb_substr时,只能用传统简单的substr截取字符串,为了防止最后一个字符出现截断现象,可能要多截取1到2个字符,输出是一致的。
function extractHtmlData($data,$len) 从可能包含html标记的内容中获取纯文本摘要,$data是完整数据,$len是长度,将去除html、xml的标签,去除空白字符,替换还原HTML实体,返回处理后的摘要字符串
function changeFileSize($fileSize) 字节大小的返回以字节为单位的大小,注意后面接单位,因此返回的是字符串
function getFileSuffix($fileName) 获取返回文件名后缀
function pagination($count,$perlogs,$page,$url,$anchor='') 分页函数,获取返回输出列表页底部页码导航的字符串;参数$count为条目总数,$perlogs为每页显示的条目数,$page为当前页码,$url为页码的地址,$achor为需访问的页面的锚字符串,默认为空,返回包含输出首页尾页前5页和后5页的字符串。
function addAction($hook,$actionFunc) 在插件中调用,挂载插件函数到预留的钩子上。参数$hook是钩子名称,$actionFunc是插件函数名,函数将处理全局数组$emHooks,数组结构为钩子名=>array(),指向的数组为挂载到钩子上的插件函数名组成的数组
function doAction($hook) 执行挂在钩子上的函数,支持多参数,参数$hook为钩子名,后面还可以跟多个参数,这些参数将利用func_get_args()获得,将同时传递给每个钩子上挂载的函数,用call_user_func_array()调用
function breakLog($content,$lid) 分割文章,参数$content为文章内容,$lid为文章ID
如果有分割标志,则将分割标志前面部分且添加阅读全文链接后返回
没有分割标志,则如果允许摘要,则获取摘要且添加阅读全文的链接后返回
没有分割标志且不允许摘要,则直接返回文章全文
function rmBreak($content) 删除分割标志,参数$content为文章内容,返回删除标志后的文章内容
function smartDate($datetemp,$dstr='Y-m-d H:i') 时间转化函数,根据时间戳和现在相距的时间长度返回不同的说明,参数$datetemp为时间戳,$dstr为gmdate()函数的时间格式字符串。转化的格式分为:
xx秒前,xx分钟前,约xx小时前,相隔超过一天则返回日期字符串默认为年-月-日 时:分
function getRandStr($length=12,$special_chars=true) 生成一个随机的字符串,参数$length为生成的字符串长度,默认为12,$special_chars是否包含特殊字符如'!@#$%^&*()',不包含则仅为大小写字母和数字,返回生成的随机字符串
function findArray($array1,$array2) 寻找两数组不同元素,返回不同元素组成的数组
function uploadFile
($fileName,$errorNum,$tmpFile,$fileSize,$type,$isIcon=false,$is_thumbnail=true)
调用upload函数上传文件并在出错时输出错误信息,参数说明见upload函数
function uploadFileBySwf
($fileName,$errorNum,$tmpFile,$fileSize,$type,$isIcon=false,$is_thumbnail=true)
调用upload函数上传文件,用于附件批量上传,出错时直接跳转输出404错误,参数说明见upload函数
function upload
($fileName,$errorNum,$tmpFile,$fileSize,$type,$isIcon=false,$is_thumbnail=true)
文件上传函数:
* 返回的数组索引
* mime_type 文件类型
* size   文件大小(单位KB)
* file_path 文件路径
* width   宽度
* height  高度
* 可选值(仅在上传文件是图片且系统开启缩略图时起作用)
* thum_file  缩略图的路径
* thum_width 缩略图宽度
* thum_height 缩略图高度
* thum_size  缩略图大小(单位KB)
*
* @param string $fileName 文件名
* @param string $errorNum 错误码:$_FILES['error']
* @param string $tmpFile 上传后的临时文件
* @param string $fileSize 文件大小 KB
* @param array $type 允许上传的文件类型
* @param boolean $isIcon 是否为上传头像
* @param boolean $is_thumbnail 是否生成缩略图
* @return array 文件数据 索引
*
*/

function resizeImage($img,$thum_path,$max_w,$max_h) 图片生成缩略图,参数$img为预缩略的图片,$thum_path为生成缩略图的路径,$max_w:缩略图最大宽度px,$max_h:缩略图最大高度px,调用imageCropAndResize函数生成保存缩略图,并返回true/false
function imageCropAndResize
($src_image,$dst_path,$dst_x,$dst_y,$src_x,$src_y,$dst_w,$dst_h,$src_w,$src_h)
裁剪、缩放图片,利用imagepng()或imagejpeg()或imagegif()函数保存缩略图片到指定文件后返回true,失败返回false
* @param string $src_image 原始图
* @param string $dst_path 裁剪后的图片保存路径
* @param int $dst_x 新图坐标x
* @param int $dst_y 新图坐标y
* @param int $src_x 原图坐标x
* @param int $src_y 原图坐标y
* @param int $dst_w 新图宽度
* @param int $dst_h 新图高度
* @param int $src_w 原图宽度
* @param int $src_h 原图高度

function chImageSize($img,$max_w,$max_h) 按比例计算图片缩放尺寸
* @param string $img 图片路径
* @param int $max_w 最大缩放宽
* @param int $max_h 最大缩放高
返回保存原始尺寸和缩放后尺寸的索引数组
'w'=>缩放后宽,'h'=>缩放后高
'rc_w'=>原始图宽,'rc_h'=>原始图高
function getGravatar($email,$s=40,$d='mm',$g='g') 根据邮箱获取Gravatar头像,参数$email是邮箱地址,$s是头像尺寸为正方形因此长宽一致,$d设置默认头像,默认'mm'为所谓的黑色神秘人物,$r为头像评级,'g'为仅普通头像能显示
function getTimeZoneOffset($remote_tz,$origin_tz='UTC') 计算时区的时差,参数$remote_tz是远程时区,$origin_tz为标准时区,返回时差单位是秒
function emStrtotime($timeStr) 将字符串转换成UNIX时间戳,返回时间戳
function getMonthDayNum($month,$year) 获取指定月份的天数,参数$month为月份,$year为年份,返回天数
function emUnZip($zipfile,$path,$type='tpl') 解压zip文件
* @param string $zipfile 要解压的文件
* @param string $path 解压到该目录
* @param string $type 压缩文件的类型
'tpl':模板包,'plugin':插件包
'backup':备份包,'update':更新包
解压成功返回1,其他返回错误码
function emZip($orig_fname,$content) zip压缩文件和内容,参数$orig_fname为文件名,$content为要追加到文件后面的内容,将内容追加到文件后zip压缩并使用file_get_contents获取压缩后的文件全部内容返回,失败返回false
function emFecthFile($source) 获取远程文件,参数$source为远程文件地址,将远程文件的内容存放到临时文件,将返回临时文件的地址
function emDeleteFile($file) 删除文件或目录,参数$file为文件地址,如果文件为普通文件则直接删除,如果文件为文件夹则递归删除,失败则返回false,成功返回true
function emDirect($directUrl) 页面跳转,参数$directUrl为跳转页面网址
function emMsg($msg,$url='javascript:history.back(-1);',$isAutoGo=false) 显示特殊的系统信息,参数$msg为信息内容字符串,$url为返回地址,默认为上一页,$isAutoGo为是否自动跳转,默认为false不自动跳转
function show_404_page() 显示404错误页面,如果前台模板有404.php,则输出404.php,否则使用emMsg输出简单的404错误信息
function emoFormat($t) 替换表情,参数$t为包含文本表情的文本内容,替换的图片在 BLOG_URL.'admin/editor/plugins/emoticons/images/' 目录下
'[耶]'=>'0.gif', '[呵呵]'=>'1.gif', '[悲伤]'=>'2.gif', '[抓狂]'=>'3.gif', '[衰]'=>'4.gif', '[花心]'=>'5.gif', '[哼]'=>'6.gif', '[泪]'=>'7.gif', '[害羞]'=>'8.gif', '[酷]'=>'9.gif', '[晕]'=>'10.gif', '[挤眼]'=>'11.gif', '[鬼脸]'=>'12.gif', '[汗]'=>'13.gif', '[吃惊]'=>'14.gif', '[发呆]'=>'15.gif', '[闭嘴]'=>'16.gif', '[撇嘴]'=>'17.gif', '[疑问]'=>'18.gif', '[睡觉]'=>'19.gif', '[NO]'=>'20.gif', '[大哭]'=>'21.gif', '[爱你]'=>'22.gif', '[嘻嘻]'=>'23.gif', '[生病]'=>'24.gif', '[偷笑]'=>'25.gif', '[思考]'=>'26.gif', '[玫瑰]'=>'27.gif', '[心]'=>'28.gif', '[伤心]'=>'29.gif', '[咖啡]'=>'30.gif', '[音乐]'=>'31.gif', '[下雨]'=>'32.gif', '[晴天]'=>'33.gif', '[星星]'=>'34.gif', '[月亮]'=>'35.gif'

function hash_hmac($algo,$data,$key) 若PHP不存在hash_hmac方法(PHP>5.1.2),则自定义
使用HMAC方法生成带有密钥的哈希值
$algo:要使用的哈希算法名称,自定义方法只能使用"md5"和"sha1"。
$data:要进行哈希运算的消息。
$key:使用HMAC生成信息摘要时所使用的密钥。
function get_mimetype($extension) 根据文件后缀获取MIME类型,参数$extension为后缀名,若在列表里则返回列表对应的值,否则默认返回'text/html'
列表:
$ct['htm'] = 'text/html';
$ct['html'] = 'text/html';
$ct['txt'] = 'text/plain';
$ct['asc'] = 'text/plain';
$ct['bmp'] = 'image/bmp';
$ct['gif'] = 'image/gif';
$ct['jpeg'] = 'image/jpeg';
$ct['jpg'] = 'image/jpeg';
$ct['jpe'] = 'image/jpeg';
$ct['png'] = 'image/png';
$ct['ico'] = 'image/vnd.microsoft.icon';
$ct['mpeg'] = 'video/mpeg';
$ct['mpg'] = 'video/mpeg';
$ct['mpe'] = 'video/mpeg';
$ct['qt'] = 'video/quicktime';
$ct['mov'] = 'video/quicktime';
$ct['avi'] = 'video/x-msvideo';
$ct['wmv'] = 'video/x-ms-wmv';
$ct['mp2'] = 'audio/mpeg';
$ct['mp3'] = 'audio/mpeg';
$ct['rm'] = 'audio/x-pn-realaudio';
$ct['ram'] = 'audio/x-pn-realaudio';
$ct['rpm'] = 'audio/x-pn-realaudio-plugin';
$ct['ra'] = 'audio/x-realaudio';
$ct['wav'] = 'audio/x-wav';
$ct['css'] = 'text/css';
$ct['zip'] = 'application/zip';
$ct['pdf'] = 'application/pdf';
$ct['doc'] = 'application/msword';
$ct['bin'] = 'application/octet-stream';
$ct['exe'] = 'application/octet-stream';
$ct['class'] = 'application/octet-stream';
$ct['dll'] = 'application/octet-stream';
$ct['xls'] = 'application/vnd.ms-excel';
$ct['ppt'] = 'application/vnd.ms-powerpoint';
$ct['wbxml'] = 'application/vnd.wap.wbxml';
$ct['wmlc'] = 'application/vnd.wap.wmlc';
$ct['wmlsc'] = 'application/vnd.wap.wmlscriptc';
$ct['dvi'] = 'application/x-dvi';
$ct['spl'] = 'application/x-futuresplash';
$ct['gtar'] = 'application/x-gtar';
$ct['gzip'] = 'application/x-gzip';
$ct['js'] = 'application/x-javascript';
$ct['swf'] = 'application/x-shockwave-flash';
$ct['tar'] = 'application/x-tar';
$ct['xhtml'] = 'application/xhtml+xml';
$ct['au'] = 'audio/basic';
$ct['snd'] = 'audio/basic';
$ct['midi'] = 'audio/midi';
$ct['mid'] = 'audio/midi';
$ct['m3u'] = 'audio/x-mpegurl';
$ct['tiff'] = 'image/tiff';
$ct['tif'] = 'image/tiff';
$ct['rtf'] = 'text/rtf';
$ct['wml'] = 'text/vnd.wap.wml';
$ct['wmls'] = 'text/vnd.wap.wmlscript';
$ct['xsl'] = 'text/xml';
$ct['xml'] = 'text/xml';

 

标签:


发表评论: