PHP支持基于HTTP的cookies。在需要時(shí)你可以像使用一般變量一樣方便的使用cookie。Cookies是瀏覽器保存于客戶端的一些信息片段,由此你可以知道是否一臺(tái)特定PC上的任何人都訪問(wèn)過(guò)你的站點(diǎn),瀏覽者者在你的站點(diǎn)上的蹤跡等等。使用cookies的典型例子就是對(duì)瀏覽者偏好的甄別。Cookies由函數(shù)setcookie()設(shè)定。與輸出HTTP標(biāo)頭的函數(shù)header()一樣,setcookie()必須在任何實(shí)際內(nèi)容杯輸出到瀏覽器之前調(diào)用。以下是一個(gè)簡(jiǎn)單例子: <? if (empty($VisitedBefore)) { // 如果沒(méi)有設(shè)定cookie,為cookie賦上當(dāng)前時(shí)間值 // 函數(shù)中的最后一個(gè)參數(shù)聲明了該cookie保存的時(shí)間 // 在這個(gè)例子中是1年 // time()函數(shù)返回自1970年1月1日以來(lái)的以秒數(shù)計(jì)的時(shí)間 SetCookie("VisitedBefore",time(), time()+(60*60*24*365)); } else { // 歡迎瀏覽者再次光臨 echo "Hello there, welcome back<BR>"; // 讀取cookie并判斷 if ( (time() - $VisitedBefore) >= "(60*60*24*7)" ) echo "Why did you take a week to come back. You should be here more often!? "; } ?>
文件上傳 <? include("include/common.inc"); // 我們?cè)谶@里再做一次用戶驗(yàn)證 if(!isset($PHP_AUTH_USER)) { Header("WWW-Authenticate: Basic realm=/"$MySiteName/""); Header("HTTP/1.0 401 Unauthorized"); echo "Sorry, you are not authorized to upload files/n"; exit; } else { if ( !($PHP_AUTH_USER==$MyName && $PHP_AUTH_PW==$MyPassWord ) ) { // 如果是錯(cuò)誤的用戶名稱(chēng)/密碼對(duì),強(qiáng)制再次認(rèn)證 Header("WWW-Authenticate: Basic realm=/"My Realm/""); Header("HTTP/1.0 401 Unauthorized"); echo "ERROR : $PHP_AUTH_USER/$PHP_AUTH_PW is invalid.<P>"; exit; } } if ( $cancelit ) { // 當(dāng)瀏覽者按下"取消"按鈕則轉(zhuǎn)向首頁(yè)面 header ( "Location: front_2.php3" ); exit; } function do_upload () { global $userfile, $userfile_size, $userfile_name, $userfile_type; global $local_file, $error_msg; global $HTTP_REFERER; if ( $userfile == "none" ) { $error_msg = "You did not specify a file for uploading."; return; } if ( $userfile_size > 2000000 ) { $error_msg = "Sorry, your file is too large."; return; } // Wherever you have write permission below... $upload_dir = "photos"; $local_file = "$upload_dir/$userfile_name"; if ( file_exists ( $local_file ) ) { $error_msg = "Sorry, a file with that name already exists"; return; }; // 你還可以由此檢查文件名稱(chēng)/類(lèi)型對(duì)以確定是何種文件:gif,jpg,mp3… rename($userfile, $local_file); echo "The file is uploaded<BR>/n"; echo "<A HREF=/"$HTTP_REFERER/">Go Back</A><BR>/n"; } $title = "Upload File"; include("include/header.inc"); if (empty($userfile) || $userfile=="none") { // 輸出以下表單 ?> <FORM ACTION="<? echo "$PHP_SELF"; ?>" ENCTYPE="multipart/form-data" METHOD=POST> <INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="2000000"> <INPUT TYPE="FILE" NAME="userfile" SIZE="24" MAXLENGTH="80"> <BR><BR> <INPUT TYPE="SUBMIT" VALUE="Upload File!" NAME="sendit"> <INPUT TYPE="SUBMIT" VALUE="Cancel" NAME="cancelit"><BR> </FORM> <I><FONT SIZE="2">(You may notice a slight delay while we upload your file.)</FONT></I> <? } else { if ( $error_msg ) { echo "<B>$error_msg</B><BR><BR>"; } if ( $sendit ) { do_upload (); } } include("include/footer.inc"); ?>
照片圖庫(kù)
<? include("include/common.inc"); $title = "Gallery"; include("include/header.inc"); ?> <P> Here are some of our family photos. This PHP script can really be made better, by splitting into multiple pages. </P> <? $d = dir("photos"); while($entry = $d->read()) { if (is_file("photos/$entry")) echo "<IMG SRC=/"photos/$entry/">/n"; } $d->close(); ?> <? include("include/footer.inc"); ?>