推薦:淺談PHP企業(yè)級應(yīng)用之WebServicePHP企業(yè)級應(yīng)用之WebService篇 Ping Service,博客程序提供一種通知機(jī)制,以便在第一時間將博客的更新信息發(fā)布到提供Ping Service服務(wù)的網(wǎng)站,寫聚合的時候研究了一下。 先看 標(biāo)準(zhǔn) 吧 這是一個標(biāo)準(zhǔn)的Ping Service,用XMLRPC來傳數(shù)據(jù)的,注釋寫的這么詳細(xì),代碼
如果訪問您站點(diǎn)的用戶由于各種原因暫時出現(xiàn)無法訪問頁面的錯誤,如何給他一個友好的答復(fù),并且你也知道發(fā)生了這個錯誤,看看下面這段程序,是用來定制404錯誤頁面和發(fā)通知給網(wǎng)管。
|
以下為引用的內(nèi)容:
<?php # 設(shè)置 $domain 為你的域名 (注意沒有www) $domain = "oncoding.net"; # 設(shè)置URL,注意沒有后劃線 / $docroot = "http://oncoding.net"; # 設(shè)置錯誤信息的字體 $fontface = "Verdana"; # 設(shè)置404頁面的字體大小 $fontsize = "2"; # 設(shè)置404頁面的背景顏色,缺省是白色 $bgcolor = "#ffffff"; # 設(shè)置文字顏色,缺省是黑色 $textcolor = "#000000";
# 使用 $reportlevel 變量來控制是否發(fā)信給網(wǎng)管 # 0 = 根本不用發(fā)信,嘿,NB的我們怎么會出錯呢 # 1 = 只有在頁面含有你的DOMAIN NAME時才發(fā)信 # 2 = 即使是與我連接出現(xiàn)的斷連也發(fā)信,有可能是友情站點(diǎn) $reportlevel = 2; //這種最保險了
$emailaddress = "[email protected]"; //設(shè)置收錯誤信息的郵箱
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 "錯誤信息已經(jīng)發(fā)送到oncoding編碼營管理員信箱."; }
return; }
# EMAIL處理函數(shù)
function send_email() { # Request access to the global variables we need global $REQUEST_URI, $HTTP_REFERER, $emailaddress, $REMOTE_ADDR, $docroot;
# 定制發(fā)送的消息,如時間地點(diǎn)等. $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"); //發(fā)送信息 return; }
# 下面這些是根據(jù)變量$reportlevel的設(shè)置來發(fā)信與否。 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模式下的多進(jìn)程應(yīng)用PHP在很多時候不適合做常駐的SHELl進(jìn)程, 他沒有專門的gc例程, 也沒有有效的內(nèi)存管理途徑. 所以如果用PHP做常駐SHELL, 你會經(jīng)常被內(nèi)存耗盡導(dǎo)致abort而unhappy. 而且, 如果輸入數(shù)據(jù)非法, 而腳本沒有檢測, 導(dǎo)致abort, 也會讓你很不開心. 那? 怎么辦呢? 呵呵, 別