10 个有用的 PHP 代码

老虎说测试 脚本开发字数 2393阅读7分58秒阅读模式
摘要获取浏览器IP地址: 如果有代理服务器的情况下获取IP 获取 MySQL 时间戳 验证日期格式:YYYY-MM-DD 重定向 发送邮件 BASE64 编码和解码  JSON 处理 ...

获取浏览器IP地址:

[php]function getRemoteIPAddress() {文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

$ip = $_SERVER['REMOTE_ADDR'];文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

return $ip;文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

}[/php]文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

如果有代理服务器的情况下获取IP:文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

[php]function getRealIPAddress() {文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

if (!empty($_SERVER['HTTP_CLIENT_IP'])) { // check ip from share internet文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

$ip = $_SERVER['HTTP_CLIENT_IP'];文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { // to check ip is pass from proxy文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];文章源自陈学虎-https://chenxuehu.com/article/2012/06/818.html

} else {

$ip = $_SERVER['REMOTE_ADDR'];

}

return $ip;</blockquote>
}[/php]

获取 MySQL 时间戳:

[php]$query = "select UNIX_TIMESTAMP(date_field) as mydate from mytable where 1=1";

$records = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($records)) {

echo $row;

}[/php]

验证日期格式:YYYY-MM-DD:

  [php]function checkDateFormat($date) {

// match the format of the date

if (preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts)) {

// check whether the date is valid of not

if (checkdate($parts[2], $parts[3], $parts[1])) {

return true;

} else {

return false;

}

} else {

return false;

}</blockquote>
}[/php]

重定向:

[php]header('Location: http://www.php100.com');[/php]

发送邮件:

  [php]$to = "someone@oschina.net";

$subject = "Your Subject here";

$body = "Body of your message here you can use HTML too. e.g.
<strong>Bold </strong>";

$headers = "From: You\r\n";

$headers .= "Reply-To: info@yoursite.com\r\n";

$headers .= "Return-Path: info@yoursite.com\r\n";

$headers .= "X-Mailer: PHP\n";

$headers .= 'MIME-Version: 1.0' . "\n";

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($to, $subject, $body, $headers);[/php]

BASE64 编码和解码:

  [php]function base64url_encode($plainText) {

$base64 = base64_encode($plainText);

$base64url = strtr($base64, '+/=', '-_,');

return $base64url;

}

function base64url_decode($plainText) {

$base64url = strtr($plainText, '-_,', '+/=');

$base64 = base64_decode($base64url);

return $base64;

}[/php]

JSON 处理:

  [php]$json_data = array ('id'=>1,'name'=>"John",'country'=>'Canada',"work"=>array("Google","Oracle"));

echo json_encode($json_data);

$json_string='{"id":1,"name":"John","country":"Canada","work":["Google","Oracle"]} ';

$obj=json_decode($json_string);

// print the parsed data

echo $obj->name; //displays John

echo $obj->work[0]; //displays Google[/php]

检测用户浏览器类型:

  [php]$useragent = $_SERVER ['HTTP_USER_AGENT'];

echo "<strong>Your User Agent is</strong>: " . $useragent;[/php]

显示网页源码:

[php] $lines = file('http://www.chenxuehu.com/');

foreach ($lines as $line_num => $line) {

// loop thru each line and prepend line numbers

echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";

}[/php]

调整服务器时间:

  [php]$now = date('Y-m-d-G');

$now = strftime("%Y-%m-%d-%H", strtotime("$now -8 hours"));[/php]

 最后更新:2012-9-10
  • 版权声明:本文为原创文章,转载请附上原文出处链接及本声明。
  • 转载请注明:10 个有用的 PHP 代码 | https://chenxuehu.com/article/2012/06/818.html