设为首页 收藏本站
查看: 801|回复: 0

[经验分享] php 工作中写的一些公用function

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-4-4 09:54:41 | 显示全部楼层 |阅读模式
在项目中经常用到的一些公共方法。
一个好的程序员 要学会去收集一些公共类库, DSC0000.gif

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 ();
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-359930-1-1.html 上篇帖子: PHP 修改HTTP头 --Modify HTTP Headers 下篇帖子: php curl的几段小应用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表