`
zxl7049
  • 浏览: 30272 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

php 工作中写的一些公用function

阅读更多
在项目中经常用到的一些公共方法。
一个好的程序员 要学会去收集一些公共类库,
function get_client_ip() {
	if(getenv("HTTP_CLIENT_IP")) {
		$onlineIP = getenv("HTTP_CLIENT_IP");
	} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
		$onlineIP = getenv("HTTP_X_FORWARDED_FOR");
	} elseif(getenv("REMOTE_ADDR")) {
		$onlineIP = getenv("REMOTE_ADDR");
	} else {
		$onlineIP = $_SERVER['REMOTE_ADDR'];
	}
	return $onlineIP;
}

function formattime($num) {
		
		$arr["hour"]="00";
		if($num>=3600)
		{ //小时
		   $arr["hour"] = sprintf("%d",($num/3600));
		   
		   $num -= $arr['hour']*3600; 
		  if($arr["hour"]<10){
		  	  $arr["hour"]="0". $arr["hour"];
		  }
		}
		$arr["minute"]="00";
		if($num>=60)
		{ //分
		   $arr["minute"] = sprintf("%d",($num/60));
		  
		   $arr["second"] = sprintf("%d",$num-$arr['minute']*60);
		   if($arr["minute"]<10){
		   	$arr["minute"]="0". $arr["minute"];
		   }
		   if($arr["second"]<10){
		   	$arr["second"]="0". $arr["second"];
		   } 
		}
		$arr['second']="00";
		if($num<60&&$num>0){ $arr["second"] = $num;
			if($arr["second"]<10){
			   	$arr["second"]="0". $arr["second"];
			   } 
		}
		
		return $arr["hour"].":".$arr["minute"].":".$arr["second"];
}

function cut_str($string, $sublen, $start = 0, $code = 'UTF-8'){
	if($code == 'UTF-8'){
		$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
		preg_match_all($pa, $string, $t_string);
		//print_r($t_string);
		$i=$sublen;
		
		foreach($t_string[0] as $k=>$chr){
				//echo  ord($chr)."<hr>"; 
				//echo 'this'.$k.'this';	
			if(ord($chr)<=127&&$k<$i){
				//echo 'hello<hr>';
				if(ord($chr)>65&&ord($chr)<91){
					
				}else{
					$sublen++;
				}
				
			}
		}
		//echo  $string.'<hr>'.$sublen.'<hr>';
		if(count($t_string[0]) - $start > $sublen) {
			
			return join('', array_slice($t_string[0], $start, $sublen))."...";
		}else{
			
			return join('', array_slice($t_string[0], $start, $sublen));
		}
		
		}else{
		$start = $start*2;
		$sublen = $sublen*2;
		$strlen = $strlen($string);
		$tmpstr = '';
		
		for($i=0; $i< $strlen; $i++)
		{
		if($i>=$start && $i< ($start+$sublen))
		{
		if(ord(substr($string, $i, 1))>129)
		{
		$tmpstr.= substr($string, $i, 2);
		}
		else
		{
		$tmpstr.= substr($string, $i, 1);
		}
		}
		if(ord(substr($string, i, 1))>129) $i++;
		}
		if(strlen($tmpstr)< $strlen ) $tmpstr.= "...";
		return $tmpstr;
		}
}    
 function setupSize($fileSize) {
	 //$fileSize=$fileSize*130.26;
 	$size=floatval($fileSize);
	if($size == 0) {
	return("0 Bytes");
	}
	$sizename = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
	$i = floor(log($size, 1024));
	//echo  '<hr>'.$i;
	return round($size/pow(1024, $i), 2). $sizename[$i];
}
/**
 * 提示页面
 * 对于程序内部出现的错误或者是用户操作的错误都可以以
 * 此页面来提示。
 * @param unknown_type $msg
 * @param unknown_type $type
 * time  跳转时间 秒
 * url   跳转地址
 * 错误的级别 是程序内部的错误还是用户操作的错误
 * 来区分展示的不同的页面
 * 
 */
function showmsg($msg, $type, $time = 10, $url = "admin.php?a=dashboard") {
	echo '<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8">';
	//echo  '<meta http-equiv="refresh" content="'.$time.';url='.$url.'"> ';
	echo '<title>信息提示页面</title></head>';
	echo '<link href="public/css/style.css" rel="stylesheet" type="text/css" />';
	echo '<body>';
	if ($type == 0) {
		echo '<div class="successaction">';
	} else {
		echo '<div class="failaction">';
	}
	echo '<h1>' . $msg . '</h1>';
	echo '将于<span id="totalSecond" style="font-size:16pt; color:blue">' . $time . '</span>秒钟后自动跳转到新的页面!如果你没有<a href="' . $url . '">点击跳转</a>';
	echo '<script language="javascript" type="text/javascript">';
	echo 'var second = document.getElementById("totalSecond").textContent;
	 
	if (navigator.appName.indexOf("Explorer") > -1)  {
	    second = document.getElementById("totalSecond").innerText;
	} else {
	    second = document.getElementById("totalSecond").textContent;
	}
	 
	setInterval("redirect()", 1000);
	
	function redirect() {
	if (second < 0) {
	    location.href = "' . $url . '";
	} else {
	    if (navigator.appName.indexOf("Explorer") > -1) {
	        document.getElementById("totalSecond").innerText = second--;
	    } else {
	        document.getElementById("totalSecond").textContent = second--;
	    }
	}
	}
	</script>';
	
	echo '</body></html>';
	die ();
}

分享到:
评论

相关推荐

    php一些公用函数的集合

    /*获得客户端ip地址*/ function getIP() { if(getenv(“HTTP_CLIENT_IP”) && strcasecmp(getenv(“HTTP_CLIENT_IP”),”unknown”)) { $ip = getenv(“HTTP_CLIENT_IP”); } else if(getenv(...

    支付宝即时交易PHP接口文件

    │ ├alipay_core.function.php ┈┈┈┈┈┈支付宝接口公用函数文件 │ │ │ ├alipay_notify.class.php┈┈┈┈┈┈┈支付宝通知处理类文件 │ │ │ ├alipay_submit.class.php┈┈┈┈┈┈┈支付宝各接口...

    PHP中类的应用.pdf

    * 允许程序员在不同的脚本中使用公用的记住类的接口,无需担心变量的名字。 * 抽象和封装使程序员之间可以共享代码。 * 类和对象的继承性使程序员非常容易地在一个类上增加新的功能。 PHP 中类的应用 在 PHP 中,...

    thinkphp3.2.2前后台公用类架构问题分析

    前后台公用类就是在整个网站的开发过程中,前后端都可能会用到的一些功能类,比如数据库操作类、邮件发送类、缓存操作类等。通过公用类的构建,我们可以避免重复编写同样的代码,使得代码的维护和升级变得更加高效。...

    静态页面实现 include 引入公用代码的示例

    在前端开发中,静态页面实现 include 引入公用代码是非常常见的需求,今天我们就来分享一下静态页面实现 include 引入公用代码的示例。 首先,让我们来看一下传统的 PHP include 函数实现静态页面引入公用代码的...

    php结构.pdf

    - `Functions.inc.php`:公用函数库。 - `OtherFunction.inc.php`:特定应用的函数库。 - `Setup.inc.php`:参数变量初始化。 4. `Html`:前端资源文件夹,包含图片、CSS样式表和JavaScript等。 - `Images`:...

    php 生成饼图 三维饼图

    php //+————————+ //| pie3dfun.PHP//公用函数 | //+————————+ define(“ANGLE_STEP”, 3); //定义画椭圆弧时的角度步长 define(“FONT_USED”, “C:\WINDOWS\Fonts\simhei.ttf”); // 使用到的字体...

    2-易仓_PHP开发指南.pdf

    ### 2-易仓_PHP开发指南 #### 框架说明与注意事项 ##### 框架概述 ...此外,还强调了在实际开发过程中应注意的一些细节问题,如避免对核心公共方法进行修改、合理使用缓存技术以及确保代码的兼容性等。

    PHP获取昨天、今天及明天日期的方法

    了解了这三个函数的工作原理后,我们可以轻松地在项目中使用它们来处理日期。例如,如果我们想在网站上显示最近三天的日期,可以这样写: ```php $yesterday = get_last_date(); $today = get_today_date(); $...

    php公用函数列表[正则]

    php /********************************************************************* * 公用函数列表 * ubb,getip,GoIn,goback,IsInt,InString * OurHome:http://iwind.org * http://10.13.31.90/~coldwind * * */ ...

    wordpress技巧:从google公用库载入Jquery

    在主题的functions.php文件中加入如下代码: function jquery_cdn() { if (!is_admin()) { wp_deregister_script('jquery'); wp_register_script('jquery', '...

    PHP简单的MVC框架实现方法

    - **function.php**:包含公用函数,如控制器、模型和视图的调用函数。 ```php // 控制器调用函数 function C($name, $method){ require_once('libs/Controller/'.$name.'Controller.class.php'); eval('$obj = ...

    UCHOME二次开发说明

    UCHOME的执行过程涉及到多个组件的协同工作,从用户请求到页面渲染,整个流程环环相扣。当用户访问一个页面时,UCHOME会先检查是否有对应的缓存文件,如果存在则直接返回缓存内容;若无,则会调用相关函数处理业务...

    此文档为支付宝通用登录接口和ecshop整合文档

    ├alipay_function.php┈┈┈┈┈公用函数类文件 │ ├alipay_notify.php┈┈┈┈┈┈支付宝通知处理类文件 │ ├log.txt┈┈┈┈┈┈┈┈┈┈┈日志文件 │ ├alipay_config.php┈┈┈┈┈┈基础信息配置...

    最新支付宝手机网站支付源代码,安全可靠

    │ ├alipay_core.asp┈┈┈┈┈┈┈┈┈┈┈┈支付宝接口公用函数文件 │ │ │ ├alipay_md5.asp ┈┈┈┈┈┈┈┈┈┈┈┈MD5签名函数文件 │ │ │ ├alipay_notify.asp┈┈┈┈┈┈┈┈┈┈┈支付宝通知...

    elfinder-laravel:Elfinder-laravel

    将ServiceProvider添加到app / config / app.php中的providers数组中'TSF\ElfinderLaravel\ElfinderServiceProvider' 您需要使用以下artisan命令将资产复制到公用文件夹: php artisan asset:publish tsf/elfinder-...

Global site tag (gtag.js) - Google Analytics