推荐:浅谈PHP企业级应用之WebServicePHP企业级应用之WebService篇 Ping Service,博客程序提供一种通知机制,以便在第一时间将博客的更新信息发布到提供Ping Service服务的网站,写聚合的时候研究了一下。 先看 标准 吧 这是一个标准的Ping Service,用XMLRPC来传数据的,注释写的这么详细,代码
如果访问您站点的用户由于各种原因暂时出现无法访问页面的错误,如何给他一个友好的答复,并且你也知道发生了这个错误,看看下面这段程序,是用来定制404错误页面和发通知给网管。
以下为引用的内容:
<?php # 设置 $domain 为你的域名 (注意没有www) $domain = "oncoding.net"; # 设置URL,注意没有后划线 / $docroot = "http://oncoding.net"; # 设置错误信息的字体 $fontface = "Verdana"; # 设置404页面的字体大小 $fontsize = "2"; # 设置404页面的背景颜色,缺省是白色 $bgcolor = "#ffffff"; # 设置文字颜色,缺省是黑色 $textcolor = "#000000";
# 使用 $reportlevel 变量来控制是否发信给网管 # 0 = 根本不用发信,嘿,NB的我们怎么会出错呢 # 1 = 只有在页面含有你的DOMAIN NAME时才发信 # 2 = 即使是与我连接出现的断连也发信,有可能是友情站点 $reportlevel = 2; //这种最保险了
$emailaddress = "webmaster@oncoding.net"; //设置收错误信息的邮箱
function print_details() { # Request access to the global variables we need global $fontface, $fontsize, $docroot, $REQUEST_URI, $reportlevel; global $bgcolor, $textcolor;
# Print the 404 error in web format echo "<html><head><title>404 没有找到页面</title></head>"; echo "<body bgcolor="$bgcolor" text="$textcolor">"; echo "<b><h1>404 对不起,我没有找到您要求的页面</h1></b>"; echo "<p><font face="$fontface" size="$fontsize">"; echo "oncoding编码营提醒您,您要求的页面 $docroot$REQUEST_URI, doesn't exist"; echo " on this server.</font></p>";
if ($reportlevel != 0) { echo "<p><font face="$fontface" size="$fontsize">"; echo "错误信息已经发送到oncoding编码营管理员信箱."; }
return; }
# EMAIL处理函数
function send_email() { # Request access to the global variables we need global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $REMOTE_ADDR, $docroot;
# 定制发送的消息,如时间地点等. $today = getdate(); $month = $today[mon]; $mday = $today[mday]; $year = $today[year]; $hours = $today[hours]; $minutes = $today[minutes]; $errortime = "$month/$mday/$year at $hours:$minutes";
# Create the body of the email message $message .= "404 Error ReportnnA 404 error was encountered by $REMOTE_ADDR"; $message .= " on $errortime.nn"; $message .= "The URI which generated the error is: n$docroot$REQUEST_URInn"; $message .= "The referring page was:n$HTTP_REFERERnn";
# Send the mail message. This assumes mail() will work on your system! mail("$emailaddress", "404 Error Report", $message, "From: $emailaddress"); //发送信息 return; }
# 下面这些是根据变量$reportlevel的设置来发信与否。 print_details();
# See whether or not we should send an email report. If so, do it. if ($reportlevel != 0) if ($reportlevel == 1) { if (eregi($domain,$HTTP_REFERER)) send_email(); } else send_email();
# All done! exit;
?>
|
分享:谈PHP CLI模式下的多进程应用PHP在很多时候不适合做常驻的SHELl进程, 他没有专门的gc例程, 也没有有效的内存管理途径. 所以如果用PHP做常驻SHELL, 你会经常被内存耗尽导致abort而unhappy. 而且, 如果输入数据非法, 而脚本没有检测, 导致abort, 也会让你很不开心. 那? 怎么办呢? 呵呵, 别