php函数库 有多少,PHP - 常用函数库

/**

* 常用函数库

*

*/

class Core_Fun

{

/**

* 对变量进行反转义到原始数据

*

* @param string|array $param 需要反转义的原始数据

* @return string|array

* @author Icehu

*/

public static function stripslashes($param)

{

if (is_array($param))

{

foreach ($param as $k => $v)

{

$param[$k] = self::stripslashes($v);

}

return $param;

}

else

{

return stripslashes($param);

}

}

/**

* 字符转码方法

* @param string $in_charst 输入字符集

* @param string $out_charset 输出字符集

* @param string|array $param 转换数据

* @return string|array

* @author Icehu

*/

public static function iconv($in_charst, $out_charset, $param)

{

if (is_array($param))

{

foreach ($param as $_key => $_var)

{

$param[$_key] = self::iconv($in_charst, $out_charset, $_var);

}

return $param;

}

else

{

if (function_exists('iconv'))

{

return @iconv($in_charst, $out_charset, $param);

}

elseif (function_exists('mb_convert_encoding'))

{

return @mb_convert_encoding($param, $out_charset, $in_charst);

}

else

{

return $param;

}

}

}

/**

* 获取上一次访问的地址

*

* @return string

* @author Icehu

* @todo 考虑登陆、退出地址、SEO转换等问题

*/

public static function getreffer()

{

return $_SERVER['HTTP_REFERER'];

}

/**

* 设置Cookie

*

* @param string $name Cookie名称

* @param string $value Cookie值

* @param number $kptime Cookie有效期

* @param bool $httponly 是否httponly

* @author Icehu

*/

public static function setcookie($name, $value=null, $kptime=0, $httponly=false)

{

$cookie_pre = Core_Config::get('cookiepre', 'basic', 't_');

$domain = Core_Config::get('cookiedomain', 'basic', null);

if (null !== $value)

{

if ($kptime)

{

setcookie($cookie_pre . $name, $value, self::time() + $kptime, '/', $domain, $_SERVER['SERVER_PORT'] == 443 ? 1 : 0, $httponly);

}

else

{

setcookie($cookie_pre . $name, $value, null, '/', $domain, $_SERVER['SERVER_PORT'] == 443 ? 1 : 0, $httponly);

}

}

else

{

//drop

setcookie($cookie_pre . $name, '', self::time() - 3600, '/', $domain, $_SERVER['SERVER_PORT'] == 443 ? 1 : 0);

}

}

/**

* 获取Cookie的值

* @param string $name

* @return string

* @author Icehu

*/

public static function getcookie($name)

{

$cookie_pre = Core_Config::get('cookiepre', 'basic', 't_');

return @$_COOKIE[$cookie_pre . $name];

}

/**

* 获取脚本运行时间

*

* @return number

* @author Icehu

*/

public static function time()

{

if (!isset($_SERVER['REQUEST_TIME']))

{

$_SERVER['REQUEST_TIME'] = time();

}

$timemodify = Core_Config::get('timemodify', 'basic',0);

return $_SERVER['REQUEST_TIME'] + intval($timemodify);

}

/**

* 获取当前脚本执行的微秒时间

* @return float

* @author Icehu

*/

public static function microtime()

{

return microtime(true);

}

/**

* 获取客户端IP

* 目前是取带来IP,是否取真实IP?如果取真实IP,可能被伪造

* @return string

* @author Icehu

* @todo 取真实IP?

*/

public static function ip()

{

if (isset($_SERVER['REMOTE_ADDR']))

{

return $_SERVER['REMOTE_ADDR'];

}

else if ($_tmp = getenv('REMOTE_ADDR'))

{

return $_tmp;

}

return 'unknow';

}

/**

* 考虑系统配置时区的时间格式化方法

* 默认 +8 时区

*

* @param string $format 格式化时间的字符串,同date方法

* @param number $timestamp 时间戳

* @return string

* @author Icehu

*/

public static function date($format, $timestamp=null)

{

$timestamp = (null == $timestamp) ? self::time() : $timestamp;

$timezone = Core_Config::get('timezone', 'basic', 8);

return gmdate($format, $timestamp + $timezone * 3600);

}

/**

* 考虑了系统设置时区的时间戳生成方法

*

* @param number $hour 小时

* @param number $min 分钟

* @param number $sec 秒钟

* @param number $mon 月份

* @param number $year 年份

* @param number $day 日期

* @return timestamp

* @author Icehu

*/

public static function mktime($hour, $min, $sec, $mon, $year, $day)

{

$timezone = Core_Config::get('timezone', 'basic', 8);

$t = gmmktime($hour, $min, $sec, $mon, $day, $year);

return $t ? $t - $timezone * 3600 : 0;

}

/**

* 将 yyyy-mm-dd H:i:s 格式的时间格式化成时间戳

* @param string $str

* @return timestamp

* @author Icehu

*/

public static function strtotime($str)

{

$str = str_replace(array(' ', ':'), '-', trim($str));

$a = explode('-', $str);

@list($year, $mon, $day, $hour, $min, $sec) = $a;

return self::mktime($hour, $min, $sec, $mon, $year, $day);

}

/**

* 将数组转换为JSON格式

* 所有格式的数组都将转换为json对象,而不会转换为js array

*

* @param array $array

* @param bool $_s

* @return string

* @author Icehu

*/

public static function array2json($array=array(), $_s = false)

{

$r = array();

foreach ((array) $array as $key => $val)

{

if (is_array($val))

{

$r[$key] = "\"$key\": " . self::array2json($val, $_s);

}

else

{

if ($_s && $key == '_s')

{

$r[$key] = "\"$key\": " . $val;

}

else

{

if (is_numeric($val))

{

$r[$key] = "\"$key\": " . $val;

}

else if (is_bool($val))

{

$r[$key] = "\"$key\": " . ($val ? 'true' : 'false');

}

else if (is_null($val))

{

$r[$key] = "\"$key\": null";

}

else

{

$r[$key] = "\"$key\": \"" . str_replace(array("\r\n", "\n", "\""), array("\\n", "\\n", "\\\""), $val) . '"';

}

}

}

}

return '{' . implode(',', $r) . '}';

}

/**

*

**/

public static function error($msg, $code=-1, $params=array())

{

throw new Core_Exception($msg, $code, $params);

}

/**

* 返回json对象

*/

public static function returnJson( $code , $msg='' , $params=array(), $callback=NULL)

{

$msg = empty($msg)? Core_Comm_Modret::getMsg($code) :$msg;

return Core_Comm_Modret::getRetJson($code, $msg, $params,$callback);

}

/**

* 输出json对象 并exit

*/

public static function exitJson( $code , $msg='' , $params=array(), $callback=NULL)

{

exit( self::returnJson($code, $msg, $params,$callback));

}

/**

* iframe的ajax方式输出json对象 主要是有script标签

*/

public static function iFrameExitJson( $code , $msg='' , $params=array(), $callback=NULL)

{

if(Core_Comm_Validator::checkCallback($callback))      //有回调函数才需要

{

exit('');

}

else

{

exit( self::returnJson($code, $msg, $params));

}

}

public static function showmsg ( $msg , $gourl=-1 , $time = null , $button=false )

{

if ($time === null)

{

$time = Core_Config::get ('showtime' , 'basic' , 3);

}

$time > 1000 && $time = intval ($time / 1000);

$seogourl = $gourl;

if ($gourl == -1)

{

$seogourl = $gourl = empty($_SERVER['HTTP_REFERER'])?self::getUrlroot():$_SERVER['HTTP_REFERER'];

//            $seogourl = $gourl = 'javascript:history.go(-1)';

}

elseif (!preg_match ('#^(https?|ftp)://#' , $gourl) && !preg_match ('/^javascript/' , $gourl))

{

$seogourl = Core_Template::seoChange ($gourl);

if(!preg_match('/^\//', $gourl))

{

$gourl = '/' . $gourl;

}

}

if (!$time)

{ #立即跳转

if (!preg_match ('/^javascript/' , $gourl))

{

header ('Location: ' . $seogourl);

echo $meta = "";

}

else

{

echo "";

}

} else {

#延迟跳转

Core_Template::assignvar('gourl' , $gourl);

Core_Template::assignvar('seogourl' , $seogourl);

Core_Template::assignvar('__msg' , $msg);

Core_Template::assignvar('msg' , $msg);

Core_Template::assignvar('time' , $time);

Core_Template::assignvar('button' , $button);

Core_Template::assignvar('_resource',  Core_Config::get('resource_path','basic','/'));

Core_Template::assignvar('site_url', Core_Config::get('site_url','basic',false));

if (Core_Controller_Front::getInstance()->getModelName () == 'index')

{

Core_Template::render ('index/showmsg.tpl');

}

else

{

//exit("need showmsg templates");

Core_Template::render ('member/showmsg.tpl');

}

}

//        exit;

}

public static $data = null;

/**

* 获得webroot

* 以 / 结尾

* @return string

* @author Icehu

*/

public static function getWebroot()

{

return Core_Controller_Front::getWebRoot();

}

/**

* 获取前端用的Url根目录

* 开启SEO 返回 /

* 否则 返回 /index.php/

*

* @return string

* @author Icehu

*/

public static function getPathroot()

{

return self::getUrlroot()  . self::getPathinfoPre();

}

/**

* 获得Urlroot

* @return string

* @author Icehu

*/

public static function getUrlroot()

{

$webroot = self::getWebroot();

$http = $_SERVER['SERVER_PORT'] == 443 ? 'https' : 'http';

return $http . '://' . $_SERVER['HTTP_HOST'] . $webroot;

}

/**

* 获得用户地址

* @return string

* @author echoyang

*/

public static function getUserurl($uname='')

{

$usertUrl= self::getUrlroot();

if($uname && Core_Comm_Validator::isUserAccount($uname))

{

$http = $_SERVER['SERVER_PORT'] == 443 ? 'https' : 'http';

$port = ($_SERVER["SERVER_PORT"] == 80)? '':':80';

$usertUrl = $http . '://' . $_SERVER['HTTP_HOST'] .$port. self::seoChange('u/'.$uname);

}

return $usertUrl;

}

/**

* 获得 参数是$para的模块$preUrl下的 url,用于前台分页pathinfo数据生成

*@$preUrl = /model/controllor/action

*@$para = array('key1'=>$value1,'key2'=>$value2)

* @return string

* @author echoyang

*/

public static function getParaUrl($preUrl,$para = array())

{

$returnUrl = '';

if(!empty($preUrl))

{

if(is_array($para) && $para)

{

$returnUrl = $preUrl;

foreach($para AS $k=>$v)

{

if($k &&$v)

{

if(strpos($k,'__')===0)//去掉__开头的私有变量

{

continue;

}else{

$returnUrl .= '/'.$k.'/'.$v;

}

}

}

}

}

return $returnUrl;

}

/**

* 获得用户地址以及简短url

* @return array('origin','short')

* @author echoyang

*/

public static function getUserShorturl($uname='', $formatLength=0,$endStr='' )

{

empty($endStr) && $endStr = '...'; //末尾添加str

$formatLength = intval($formatLength);

if(empty($formatLength))

{

$formatLength = 26;  //长度默认取26

}

$userShortUrl = $usertUrl = self::getUserurl($uname);

if( strlen($usertUrl) > $formatLength )

{

$userShortUrl =  substr($usertUrl, 0 ,$formatLength);

$userShortUrl .= $endStr;

}

return array('origin'=>$usertUrl,'short'=>$userShortUrl);

}

/**

* seo转换方法

* @param string $str

* @return string

* @author Icehu

*/

public static function seoChange($str)

{

return Core_Template::seoChange($str);

}

public static function escape_special_chars($string)

{

if (!is_array($string))

{

$string = preg_replace('!&(#?\w+);!', '%%%TTT_START%%%\\1%%%TTT_END%%%', $string);

$string = htmlspecialchars($string);

$string = str_replace(array('%%%TTT_START%%%', '%%%TTT_END%%%'), array('&', ';'), $string);

}

return $string;

}

/**

* 检查文件是否可读

* @param string $filename

* @return bool

* @author Icehu

*/

public static function isReadable($filename)

{

if (!$fh = @fopen($filename, 'r', true))

{

return false;

}

@fclose($fh);

return true;

}

/**

* 获取pathinfo前缀,当nginx无配置时,使用'?',否则使用默认值'/'

* @return string

* @author maynardliu

*/

public static function getPathinfoPre()

{

static $pathinfopre;

if(isset($pathinfopre))

{

return $pathinfopre;

}

else

{

$pathinfopre = "/";

if(false!==strpos($_SERVER['SERVER_SOFTWARE'],"nginx"))

{

if(!isset($_SERVER['ORIG_PATH_INFO']))

{

$pathinfopre = "?";

}

}

if(false!==strpos($_SERVER['SERVER_SOFTWARE'],"Microsoft-IIS"))

{

$pathinfopre = "/";

}

}

return $pathinfopre;

}

/**

* 经过重写的SESSION_START

*

* @author Icehu

*/

public static function session_start()

{

if (!defined('SESSION_START'))

{

$cookie_pre = Core_Config::get('cookiepre', 'basic', 't_');

$domain = Core_Config::get('cookiedomain', 'basic', null);

ini_set('session.name', $cookie_pre . 'skey');

session_set_cookie_params(0, '/', $domain, $_SERVER['SERVER_PORT'] == 443 ? 1 : 0, true);

session_set_save_handler(

array('Core_Lib_Session', 'open'),

array('Core_Lib_Session', 'close'),

array('Core_Lib_Session', 'read'),

array('Core_Lib_Session', 'write'),

array('Core_Lib_Session', 'destroy'),

array('Core_Lib_Session', 'gc')

);

$cookieTime = Core_Config::get('cookietime', 'basic', 30);

session_cache_expire($cookieTime > 0 ? $cookieTime : 30);

session_start();

define('SESSION_START', true);

}

}

/**

* UTF-8数据的中文截字

*

* @param string $content 需要截字的原文

* @param number $length 截取的长度

* @param string $add 末尾添加的字符串

* @return string

* @author Icehu

*/

public static function cn_substr($content, $length, $add='')

{

if ($length && strlen($content) > $length)

{

$str = substr($content, 0, $length);

$len = strlen($str);

for ($i = strlen($str) - 1; $i >= 0; $i-=1)

{

$hex .= ' ' . ord($str[$i]);

$ch = ord($str[$i]);

if (($ch & 128) == 0)

return substr($str, 0, $i) . $add;

if (($ch & 192) == 192)

return substr($str, 0, $i) . $add;

}

return($str . $hex . $add);

}

return $content;

}

/**

* 按照命名规则载入类

*

* @param string $class

* @return Class

* @author

*/

public static function loadClass($class)

{

if (class_exists($class, false))

{

return;

}

$file = str_replace('_', DIRECTORY_SEPARATOR, $class) . '.php';

//include_once($file);

require_once(INCLUDE_PATH . $file);

}

/**

* 特殊加密url,防止地址被解析不完全

*

* @param string $class

* @return string

* @author

*/

public static function iurlencode($key)

{

if(preg_match('/^apache/i', $_SERVER['SERVER_SOFTWARE']))

{

return rawurlencode(str_replace(array('/', '?', '&', '#'), array('%2F', '%3F', '%26', '%23'), $key));

}

return $key;

}

/**

* 特殊url解密,防止地址不是原地址

*

* @param string $class

* @return string

* @author icehu

*/

public static function iurldecode($key)

{

$key = rawurldecode($key);

if(preg_match('/^apache/i', $_SERVER['SERVER_SOFTWARE']))

{

//Apache 会自动解码一次

return str_replace(array('%2F') , array('/') , $key);

}

else

{

return str_replace(array('%2F', '%3F', '%26', '%23'), array('/', '?', '&', '#'), $key);

}

}

/**

* 格式化字节

* @param $size - 大小(字节)

* @return 返回格式化后的文本

* @author Icehu

*/

public static function formatBytes($size)

{

if ($size >= 1073741824)

{

$size = round($size / 1073741824 * 100) / 100 . ' GB';

}

elseif ($size >= 1048576)

{

$size = round($size / 1048576 * 100) / 100 . ' MB';

}

elseif ($size >= 1024)

{

$size = round($size / 1024 * 100) / 100 . ' KB';

}

else

{

$size = $size . ' Bytes';

}

return $size;

}

/**

* 插件钩子调用方法

* @param string $hackName

* @return string

*/

public static function pluginHack($hackName)

{

$returnContents = '';

$pluginModel = new Model_Mb_Plugin();

$pluginList = $pluginModel->getPluginList(3);

foreach($pluginList as $plugin)

{

$call = array('Plugin_'.ucfirst($plugin['foldername']).'_Index', $hackName.'Hack');

if (class_exists('Plugin_'.ucfirst($plugin['foldername']).'_Index'))

if(is_callable($call))

$returnContents .= call_user_func($call);

}

return $returnContents;

}

public static function timeMark($tag)

{

$apiName = NULL;

static $timeArr=null;

if(isset($timeArr[$apiName]))

{

$timeArr[$apiName]['et']=self::microtime();

$costTime = $timeArr[$apiName]['et'] - $timeArr[$apiName]['bt'];

unset($timeArr[$apiName]);

return sprintf("%d", $costTime*1000);

}

else

{

$timeArr[$apiName]['bt']=self::microtime();

}

}

public static function apiLog($apiName, $apiReponse)

{

if(defined("API_LOG_LEVEL"))

{

if(in_array(API_LOG_LEVEL,array(1,2)))

{

$costTime = self::timeMark($apiName);

}

if($costTime)

{

if(!is_array($apiReponse))

{

$apiReponse = array('ret'=>4,'msg'=>'api call failed','errcode'=>'-1');

}

$ret = $apiReponse['ret'];

$msg= $apiReponse['msg'];

$errCode= $apiReponse['errcode'];

switch(API_LOG_LEVEL)

{

case 1:

self::apiLogLocal($apiName, $ret, $msg, $errCode, $costTime);

break;

case 2:

self::apiLogBoss($apiName, $ret, $msg, $errCode, $costTime);

break;

default:

break;

}

}

}

}

public static function apiLogLocal($apiName,$ret=0,$msg="ok",$errCode="0",$costTime)

{

static $pageBegin=true;

$fileName = 'apilog';

$logTime = date("Y-m-d H:i:s");

$logData = array_values(func_get_args());

array_unshift($logData,$logTime);

$logData = implode("#",$logData);

if($pageBegin)

{

Core_Util_Log::file($fileName,"\r\n".$_SERVER['REQUEST_URI']);

$pageBegin=false;

}

Core_Util_Log::file($fileName,$logData);

}

public static function apiLogBoss($apiName, $ret=0, $msg="ok", $errCode="0", $costTime)

{

$ip    =  self::ip();

$qq    =  12345;

$biz    =  "weibo.open.iweibo";

$op    =  "call_api";

$status =  $ret;

$logid  =  1160;

$flowid =  $errCode;

$appKey =  Core_Config::get('appkey', 'basic');

$serverIp=  $_SERVER['SERVER_ADDR'];

$value1=0;

$value2=0;

$value3=substr(Core_Util_Log::$apiRequstUrl,0,254);

$value4=substr(Core_Util_Log::$apiRequstUrl,254,503);

//$ret = Core_Util_Log::bossLog("%s,%u,%s,%s,%d,%u,%u,%s,%d,%s,%d,%d,%s,%s,%d,%d,%s,%s",$ip,$qq,$biz,$op,$status,$logid,$flowid, $apiName, $ret,$msg,$errCode,$costTime,$appKey,$serverIp,$value1,$value2,$value3,$value4);

//$ret = Core_Util_Log::bossLog("%s,%d,%s,%s,%d,%d,%d,%s,%s,%d,%s,%d,%d,%s,%s,%d,%d,%s,%s",$ip,$qq,$biz,$op,$status,$logid,$flowid, $apiName, $ret,$msg,$errCode,$costTime,$appKey,$serverIp,$value1,$value2,$value3,$value4);

$ret = Core_Util_Log::httpBossLog("%s,%u,%s,%s,%d,%u,%u,%s,%d,%s,%d,%d,%s,%s,%d,%d,%s,%s",$ip,$qq,$biz,$op,$status,$logid,$flowid, $apiName, $ret,$msg,$errCode,$costTime,$appKey,$serverIp,$value1,$value2,$value3,$value4);

return ;

}

/*

*@param $arg1 string

*@param $arg2 string

*/

function formatToFuncName()

{

$args = func_get_args();

$args = array_filter($args,create_function('$v','return !empty($v);'));

$ret = strtolower(array_shift($args));

$ret .=  array_reduce($args,create_function('$v,$w','return $v . ucfirst(strtolower($w));'));

return $ret;

}

}

/**

* Core_Excetpion 异常重写

* 这两个异常放到Fun 文件中,不符合命名规范。

* 但是Fun全局载入,这是为了减少文件数量,提高性能。

*

* @author Icehu

*/

class Core_Exception extends Exception

{

public $params = array();

public function __construct($msg, $code, $params=array())

{

parent::__construct($msg, $code);

$this->params = (array) $params;

}

public function getParams()

{

return $this->params;

}

}

/**

* Core_Excetpion 异常重写

* open_client异常

* @author echoyang

*/

class Core_Api_Exception extends Core_Exception

{

public $params = array();

public function __construct($msg, $code, $params=array())

{

parent::__construct($msg, $code, $params);

}

}

class Core_Db_Exception extends Core_Exception

{

}

class Error_Display

{

public static function show($exception)

{

$exceptionType = get_class($exception);

$class= $exceptionType."_Error_Show";

if(!class_exists($class, false))

{

$class= "Exception_Error_Show";

}

$errorShow = new $class($exception);

$errorShow->dispatchShow();

}

}

class Exception_Error_Show

{

static $e;

function __construct($e)

{

self::$e = $e;

}

public function dispatchShow()

{

$front = Core_Controller_Front::getInstance();

$inajax=$front->inAjax() ? "inajax" : "";

$rundebug = Core_Config::get('rundebug','basic',false) ? "debug" : "";

$showfunc = Core_Fun::formatToFuncName($rundebug,$inajax,"show");

$this->$showfunc();

}

protected function roughShow()

{

header('Content-Type: text/html; charset=utf-8');

echo '

';

var_dump(self::$e);

}

protected function show()

{

Core_Fun::showmsg('系统繁忙', -1 );

}

protected function inajaxShow()

{

Core_Fun::exitJson(self::$e->getCode(), self::$e->getMessage());

}

protected function debugShow()

{

self::roughShow();

}

protected function debugInajaxShow()

{

Core_Fun::exitJson(self::$e->getCode(), self::$e->getMessage(), self::$e->getParams());

}

}

class Core_Db_Exception_Error_Show extends Exception_Error_Show

{

protected function inajaxShow()

{

Core_Fun::exitJson(self::$e->getCode(), '系统繁忙' , self::$e->getParams());

}

}

class Core_Exception_Error_Show extends Exception_Error_Show

{

public function dispatchShow()

{

$front = Core_Controller_Front::getInstance();

$inajax=$front->inAjax() ? "inajax" : "";

$rundebug = Core_Config::get('rundebug','basic',false) ? "debug" : "";

if($rundebug)

{

$showfunc = Core_Fun::formatToFuncName($rundebug,$inajax,"show");

$this->$showfunc();

}

else

{

$code = self::$e->getCode();

$msg = self::$e->getMessage();

if($code == 404)

{

header('HTTP/1.1 404 Not Found');

exit;

}

if($code != 0)

{

if($inajax)

{

self::inajaxShow();

}

else

{

if($code > 0 )

{

self::show('系统繁忙', -1 );

}

else

{

self::show($msg, -1 );

}

}

}

}

}

protected function show($msg,$code)

{

Core_Fun::showmsg($msg,$code);

}

protected function inajaxShow()

{

Core_Fun::exitJson($code, '系统繁忙' , $msg);

}

}

class Core_Api_Exception_Error_Show extends Exception_Error_Show

{

protected function show()

{

$code = self::$e->getCode();

$msg = self::$e->getMessage();

if(isset($code) && !empty($code))

{

$msg .= ' (errcode='.$code.')。';

}

Core_Fun::showmsg($msg, -1 );

exit();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例 curl获取远程文件内容 GD显示中文 PHP GIF动画生成类 PHP HTML转UBB函数 PHP XML转数组函数 PHP 缓存函数 PHP 设置COOKIE,并且加密COOKIE函数 PHP不缓存数据头 PHP伪造IP PHP全角半角转换函数 PHP农历函数 PHP分页函数 PHP判断字符串是否UTF8格式 php判断爬虫函数 PHP判断远程文件是否存在 PHP图片处理类:缩略,裁剪,圆角,倾斜 PHP多功能图片处理类 PHP多重判断删除文件函数 PHP实现英文标题的正确大写 PHP常用图片处理类 PHP常用测试函数 PHP得到当周每天日期 PHP文件下载类 PHP无限分类[左右值]算法 PHP显示日期、周几、农历初几、什么节日函数 PHP格式化数据,防止注入函数 PHP模拟登陆 PHP生成唯一标识符函数 PHP生成曲线图函数 PHP生成条形码 PHP统计字符串里单词出现次数 PHP缩略图类,可生成BMP格式 PHP自定义大小验证码函数 PHP获取.NET发出的WEBSERVICE数据 PHP获取FLV文件播放时间函数 PHP获取一年内所有周的开始和结束日期 php获取指定日期所在周的开始和结束日期 PHP读取文件前几个字节 判断文件类型函数 PHP连接ACCESS PHP采集程序中常用的函数 PHP随机产生指定长度中文字符串 SMTP类 url地址参数加密 一些常用验证函数 下拉-单选框选择 创建多级目录 删除数组中相同元素,只保留一个 判断路径是绝对目录还是相对目录 利用PHP搜索指定目录下指定的文件 加密解密 去掉指定的html标签 发送 trackback 数据包 图像处理类 图片验证码生成 字符集转换类 对要输入的字符串进行转换 对要输出的字符串进行反转换 对输入JS进行转换 寻找两个函数所有不同的元素 寻找两数组所有不同元素 得到文件类型 截取字符串中两个特定唯一字符之间的内容 截取指定长度字符串 折线图 按照比例改变图片大小(非生成缩略图) 收藏主页 数据验证类 数组转换成XML格式 日期计算 是否为电子邮件格式 柱形统计图 检查是否为一个合法的时间格式 检测URL地址有效性 检测文件是否图片 检测是否可以以网页形式显示 检测是否序列化后的字符串 模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 用curl函数读取远程文件 用file_getcontents提交数据 用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中直接输出 缩略图带版权信息函数 缩略图类 获得用户操作系统的换行符 获得用户的真实IP地址 计算字符串的长度(汉字按照两个字符计算) 设为主页 转换附件大小单位 转静态函数 遍历文件夹文件 采集网络数据 随机字符串 验证码 验证码类 验证输入的邮件地址是否合法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值