推薦:淺談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, 也會讓你很不開心. 那? 怎么辦呢? 呵呵, 別