| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 66784 人关注过本帖, 20 人收藏
标题:php实用函数(不断更新中,十分欢迎大家参与,如果函数很好用就加精)
只看楼主 加入收藏
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏(20)
 问题点数:0 回复次数:73 
php实用函数(不断更新中,十分欢迎大家参与,如果函数很好用就加精)

function GetIP() { //获取IP
if ($_SERVER["HTTP_X_FORWARDED_FOR"])
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if ($_SERVER["HTTP_CLIENT_IP"])
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if ($_SERVER["REMOTE_ADDR"])
$ip = $_SERVER["REMOTE_ADDR"];
else if (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "Unknown";
return $ip;
}

function DateAdd($date, $int, $unit = "d") { //时间的增加(还可以改进成时分秒都可以增加,有时间再补上)
$dateArr = explode("-", $date);
$value[$unit] = $int;
return date("Y-m-d", mktime(0,0,0, $dateArr[1] + $value['m'], $dateArr[2] + $value['d'], $dateArr[0] + $value['y']));
}

function GetWeekDay($date) { //计算出给出的日期是星期几
$dateArr = explode("-", $date);
return date("w", mktime(0,0,0,$dateArr[1],$dateArr[2],$dateArr[0]));
}

搜索更多相关主题的帖子: 函数 php 欢迎 
2007-04-12 23:46
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 

function check_date($date) { //检查日期是否合法日期
$dateArr = explode("-", $date);
if (is_numeric($dateArr[0]) && is_numeric($dateArr[1]) && is_numeric($dateArr[2])) {
return checkdate($dateArr[1],$dateArr[2],$dateArr[0]);
}
return false;
}
function check_time($time) { //检查时间是否合法时间
$timeArr = explode(":", $time);
if (is_numeric($timeArr[0]) && is_numeric($timeArr[1]) && is_numeric($timeArr[2])) {
if (($timeArr[0] >= 0 && $timeArr[0] <= 23) && ($timeArr[1] >= 0 && $timeArr[1] <= 59) && ($timeArr[2] >= 0 && $timeArr[2] <= 59))
return true;
else
return false;
}
return false;
}

function DateDiff($date1, $date2, $unit = "") { //时间比较函数,返回两个日期相差几秒、几分钟、几小时或几天
switch ($unit) {
case 's':
$dividend = 1;
break;
case 'i':
$dividend = 60;
break;
case 'h':
$dividend = 3600;
break;
case 'd':
$dividend = 86400;
break;
default:
$dividend = 86400;
}
$time1 = strtotime($date1);
$time2 = strtotime($date2);
if ($time1 && $time2)
return (float)($time1 - $time2) / $dividend;
return false;
}


2007-04-12 23:52
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 

感谢分享!!

封装成类更好

2007-04-13 01:30
JavaEE5
Rank: 2
等 级:新手上路
威 望:4
帖 子:150
专家分:0
注 册:2006-12-24
收藏
得分:0 
我觉得在效果上,封不封都一样,在使用方便上,不封比较好

我喜欢JavaEE5,虽然对此不了解。
2007-04-13 13:43
JavaEE5
Rank: 2
等 级:新手上路
威 望:4
帖 子:150
专家分:0
注 册:2006-12-24
收藏
得分:0 
function left($str, $len) { //解决中文被截成乱码的问题 类似ASP的LEFT
$arr = str_split($str);
$i = 0;
foreach ($arr as $chr) {
if (ord($chr) > 128)
$add = $add ? 0 : 1;
$i++;
if ($i == $len)
break;
}
return substr($str, 0, $len + $add);
}

我喜欢JavaEE5,虽然对此不了解。
2007-04-13 13:44
JavaEE5
Rank: 2
等 级:新手上路
威 望:4
帖 子:150
专家分:0
注 册:2006-12-24
收藏
得分:0 
function get_querystring($not_in = "Submit") { //获取$_GET和$_POST中的各项,并返回字符串
$querystring = "";
$GET_POST = array_merge($_POST,$_GET);
foreach($GET_POST as $key=>$value) {
if ($value=="" || preg_match("/$not_in/i",$key))
continue;
$querystring .= "$key=$value&";
}
if ($querystring)
return substr($querystring,0,-1);
return "";
}

我喜欢JavaEE5,虽然对此不了解。
2007-04-13 13:47
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 
回复:(JavaEE5)function get_querystring($not_in ...

那我也现丑一个了,一直不敢帖自己的代码,太烂了,呵呵。。。

<?php
/*
++ 函数名:getMacAdd
++ 功 能:取得服务器MAC地址
++ lmhllr 2006-10-21 lmhllr#163.com
*/
function getMacAdd()
{
@exec( "ipconfig /all" , $array );
for( $Tmpa; $Tmpa < count( $array ); $Tmpa++ )
{
if( eregi( "Physical" , $array[$Tmpa] ) )
{
$mac = explode( ":" , $array[$Tmpa] );
echo $mac[1];
}
}
}
?>

2007-04-13 16:59
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 

楼上的代码,直接截取会不会快一点、?
我觉得用strpos substr,代码会少一点,应该也会快一点


2007-04-13 23:08
rainic
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2367
专家分:0
注 册:2005-8-9
收藏
得分:0 

function get_innerhtml($html,$label) { //获取一对html标记间的html字符串
$result_arr = preg_split("/<\/".$label.">/i",$html);
$pattern = "/<".$label.".*?>/i";
for ($i = 0; $i < count($result_arr); $i++) {
list($left, $right) = preg_split($pattern,$result_arr[$i],2);
$result_arr[$i] = $right;
}
return $result_arr;
}
//例: echo get_innerhtml("<tr><td height=20>something</td></tr>", "td"); //will print "something".

function get_input_value($input) { //获取Input的HTML代码中的Value值
$pos = stripos($input, "value=") + 6;
if ($pos !== false) {
$input = substr($input, $pos);
if (substr($input, 0, 1) == "\"")
return substr($input, 1, strpos($input, "\"", 1) - 1);
else
return substr($input, 0, strpos($input, " ") - 1);
}
return false;
}

function getcontentbetween($a, $b, $str) { //获取字符串$str中,字符串$a与字符串$b之间的字符串
if ($str!=="" && $a!=="" && $b!=="") {
$start = strpos($str, $a) + strlen($a);
return substr($str, $start, strpos($str, $b, $start + 1) - $start);
}
return false;
}

[此贴子已经被作者于2007-4-25 23:34:41编辑过]


2007-04-25 18:32
發呆的小猪
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:362
专家分:0
注 册:2006-10-10
收藏
得分:0 
太少了,多发点上来,和大家分享,呵呵

营口小猪 http://bbs.
2007-04-27 09:45
快速回复:php实用函数(不断更新中,十分欢迎大家参与,如果函数很好用就加精)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022252 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved