PHP实用代码集:IP获取与日期验证

需积分: 9 2 下载量 166 浏览量 更新于2024-09-14 收藏 3KB TXT 举报
"这篇文章主要介绍了10个有用的PHP代码片段,包括获取远程IP地址、真实IP地址、查询MySQL时间戳、验证日期格式以及设置HTTP头进行重定向等实用功能。" 在PHP编程中,掌握一些实用的代码片段可以极大地提高开发效率。以下是这10个有用PHP代码的详细说明: 1. 获取远程IP地址: ```php function getRemoteIPAddress() { $ip = $_SERVER['REMOTE_ADDR']; return $ip; } ``` 此函数通过`$_SERVER['REMOTE_ADDR']`获取访问者客户端的IP地址,适用于大多数情况。 2. 获取真实IP地址(考虑代理): ```php function getRealIPAddress() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) { // 检查共享互联网的IP $ip = $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { // 检查来自代理的IP $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } else { $ip = $_SERVER['REMOTE_ADDR']; } return $ip; } ``` 这个函数更全面地处理了用户可能通过代理服务器访问的情况,首先检查`HTTP_CLIENT_IP`,然后是`HTTP_X_FORWARDED_FOR`,最后回退到`REMOTE_ADDR`。 3. 查询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; } ``` 这段代码用于从MySQL数据库中查询一个日期字段,并将其转换为Unix时间戳格式。 请注意,这里的`mysql_`函数系列已被废弃,应使用`mysqli_`或PDO扩展来执行数据库操作。 4. 验证日期格式(YYYY-MM-DD): ```php function checkDateFormat($date) { if (preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts)) { // 检查日期是否有效 if (checkdate($parts[2], $parts[3], $parts[1])) { return true; } else { return false; } } else { return false; } } ``` 此函数通过正则表达式验证输入日期是否符合"YYYY-MM-DD"格式,并通过`checkdate()`函数检查其有效性。 5. 设置HTTP头进行重定向: ```php header('Location: http://www.php100.com'); ``` 使用`header()`函数可以发送HTTP响应头,将浏览器重定向到指定URL。 6. 发送电子邮件: ```php $to = "someone@oschina.net"; $subject = "YourSubjectHere"; $body = "BodyOfYourMessageHere. You can use HTML too. <b>例如粗体</b>"; $headers = "From: You\r\n"; $headers .= "Reply-To: info@example.com"; ``` 这些代码片段用于构建一封简单的带HTML的电子邮件,包括收件人、主题、邮件正文以及发件人和回复地址。 这10个PHP代码片段涵盖了常见的网络编程任务,它们可以帮助开发者快速实现功能,提高开发效率。在实际项目中,可以根据需要对这些代码进行调整和优化。