六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

使用PHP完成動態(tài)頁面

[摘要]據(jù)Merriam-Webster Online地解釋,動態(tài)一詞的意思是網(wǎng)頁的內(nèi)容由“通常是連續(xù)的和實時生成的活動或者改變的信息組成。”因此當我們談?wù)搫討B(tài)數(shù)據(jù)的時候,我們也就是在談?wù)撟鳛閃eb頁面發(fā)送給用戶的信息是由不同的源數(shù)據(jù)組合而成的。這與靜態(tài)網(wǎng)頁的概念是相對的,靜態(tài)網(wǎng)頁的內(nèi)容并不依賴用戶輸入的...
據(jù)Merriam-Webster Online地解釋,動態(tài)一詞的意思是網(wǎng)頁的內(nèi)容由“通常是連續(xù)的和實時生成的活動或者改變的信息組成。”因此當我們談?wù)搫討B(tài)數(shù)據(jù)的時候,我們也就是在談?wù)撟鳛閃eb頁面發(fā)送給用戶的信息是由不同的源數(shù)據(jù)組合而成的。這與靜態(tài)網(wǎng)頁的概念是相對的,靜態(tài)網(wǎng)頁的內(nèi)容并不依賴用戶輸入的數(shù)據(jù)而改變而且通常是直接解析給用戶。Web頁面上的動態(tài)信息有三種主要的類型: 
動態(tài)數(shù)據(jù)--在一個Web頁面里產(chǎn)生的變量。 
動態(tài)Web頁面--整個Web頁面都是動態(tài)生成的。 
動態(tài)內(nèi)容--Web頁面的一部分是動態(tài)生成的。 
你如果希望對動態(tài)內(nèi)容產(chǎn)生的過程進行細微的控制,就象動態(tài)數(shù)據(jù)的那種類型一樣,那么數(shù)據(jù)處理的過程就會復(fù)雜一些。而如果你想生成大范圍的信息,就象動態(tài)Web頁面的生成那樣,那么程序的邏輯就會變得復(fù)雜。動態(tài)內(nèi)容的生成是這兩種方式的折衷,它能夠讓我們使用兩個很有用的PHP函數(shù),include()和require()。 
要記住,你在后端加入的邏輯越多,那么你的Web站點的性能將會損失得越嚴重。幸運的是,PHP能夠很流暢的進行預(yù)處理過程,所以當我在處理動態(tài)內(nèi)容和數(shù)據(jù)的時候都盡可能多的使用PHP的功能。 
數(shù)據(jù)源和PHP功能 
所有的動態(tài)內(nèi)容都有一個共同點:它們從一個原始頁面以外的數(shù)據(jù)源而來。圖A列出了一些常見的數(shù)據(jù)源以及用來處理它們的相應(yīng)的PHP函數(shù)。 
Figure A 
數(shù)據(jù)源 
PHP 函數(shù) 
注釋 
User 
$HTTP_POST_VARS 
$HTTP_GET_VARS 
這些函數(shù)處理由用戶通過Web表單直接輸入的數(shù)據(jù)。 
Database (local or remote) 
<dbtype>_connect() 
<dbtype>_pconnect() 
<dbtype>_close() 
<dbtype>_<function>() 
example: 
mysql_fetch_array() 
這些都只是PHP許多數(shù)據(jù)庫訪問函數(shù)中的一部分,許多函數(shù)是為每個不同的數(shù)據(jù)庫特別編寫的。你能夠在PHP函數(shù)參考手冊里找到這些函數(shù)的完整列表。 
Remote file 
fopen(), fclose() 
fgets(), fputs() 
這些函數(shù)處理一個遠程服務(wù)器上文件中的數(shù)據(jù),這個文件可以通過FTP訪問。 
Local file 
include(), require() 
fopen(), fclose() 
這些函數(shù)處理位于本地服務(wù)器上的文件中的數(shù)據(jù),比方說配置文件。 
常見的數(shù)據(jù)源和處理它們的PHP函數(shù) 
在這篇文章“教程:PHP起步中,”我們觀看了一個演示的腳本,這個腳本要求用戶輸入他們最喜歡的數(shù)字。根據(jù)用戶輸入的結(jié)果,我們在Web頁面上顯示一條消息。這就是一個由用戶驅(qū)動的動態(tài)Web內(nèi)容的例子。從Web表單返回的結(jié)果將決定顯示的內(nèi)容。一個更復(fù)雜的例子是“點擊流程”應(yīng)用程序,這個程序能夠根據(jù)一個用戶在Web站點上訪問過的頁面來決定向他或者她發(fā)送什么廣告。 
一旦數(shù)據(jù)已經(jīng)輸入,不管它是由用戶或者其它的方式輸入的,將會被保存在一個數(shù)據(jù)庫中并在以后重新使用。如果它被用來決定顯示的內(nèi)容,那么這些內(nèi)容將可以被認為是“由數(shù)據(jù)庫驅(qū)動的動態(tài)內(nèi)容。”我們將在下一篇文章中更仔細的看看這種類型的動態(tài)信息。 目前,讓我們先察看一個由文件驅(qū)動的動態(tài)內(nèi)容的簡單的PHP腳本的例子。我們將使用基于一個配置文件的邏輯來決定在Web頁面上應(yīng)該顯示什么樣的頁面風格和字體。我們選擇的頁面風格將會在用戶請求Web頁面的時候顯示出來。(這里我想就包括文件的例子給你提個醒:你真的應(yīng)該在這個例子中為完成要求的功能而使用風格頁。) 
例子程序:Display.php 
Display腳本使用一個獨立的配置文件來包含變量值和幾個含有HTML的變量部分的包括文件。雖然這看起來不是特別動態(tài),但是你能夠輕易的要求用戶使用Web表單來創(chuàng)建一個配置文件并使用一定的邏輯來判斷應(yīng)該加載哪一個配置文件,等等。(我們在“理解PHP的函數(shù)和類”這篇文章中所作的討論將幫助你完成這個工作。) 
由于本文的目的所限,我們將跳過這方面的處理過程并盡量使它簡化。表A展示了我們的主頁面,以及你通過瀏覽器調(diào)用的頁面,Display.php。(PHP代碼將用粗體進行顯示。) 
表A 
這段簡單的代碼必須做三件事情: 

使用PHP include()函數(shù)來包含<!-- display.php 這個Web頁面的風格由一個配置文件決定 --> 
<html> 
<head> 
<title>Mood Page</title> 
</head> 
<?php 
include("displayconf.php"); 
$required_file = $display.".php"; 
require $required_file; 
?> 
<br><br> 
<center>This is the best "mood page" ever!</center> 
</font> 
</body> 
</html> 
Displayconf.php中的變量并對它們進行求值。 
創(chuàng)建一個表示用戶請求的文件名的變量。在我們這個例子中,Displayconf.php文件里定義的變量$display被求值,然后加上.php后綴。(這是由我們的邏輯完成的。) 
使用PHP的require()函數(shù)顯示正確的包含文件里的內(nèi)容。 
你應(yīng)該注意到在我們的例子中,PHP require()函數(shù)和include()函數(shù)是完全可以互換的。這兩個函數(shù)之間主要的區(qū)別在于目標文件處理的方式不同。一個require()語句將會由它所調(diào)用的文件替換。這意味著在一個循環(huán)當中,遠程的文件只會被調(diào)用一次。而另一方面,在每次遇到include()函數(shù)的時候,它都會被重新求值。這意味著在一個循環(huán)的過程中,文件將在每一次循環(huán)過程中都被訪問一次,而且在包括文件中設(shè)置的變量每次都會更新。 
在這個例子中,我試圖講清楚什么時候使用什么函數(shù)合適。對于文件Displayconf.php,很有可能它里面的變量值已經(jīng)改變。畢竟,這是一個配置文件。因此,我選擇了include()函數(shù)。而另一方面,$required文件在交互的過程中很有可能不會改變。如果用戶請求的是不同的文件體,那么我們有可能會創(chuàng)建一個新的文件再把它包括進來,所以我使用require()函數(shù)。 
高級用戶可能希望看看PHP的手冊來了解更多的關(guān)于函數(shù)require_once() 和 include_once() 的信息以便能夠?qū)ξ募幚砗团渲梦募兞康墓芾磉M行更好的控制。 
表B 顯示了我們的配置文件,Displayconf.php。(為了簡單化的目的,我們將把所有的文件放在和Web服務(wù)器相同的目錄下。)我們在這里要做的就是將$display變量設(shè)置成一個可選的值。 
表B 
<?php# displayconf.php 
# display.php 的配置文件 
# ------------------------------------------------- 
# 將變量 $display 設(shè)置成下列值之一: 
# happy, sad, 或者 generic 
$display = "happy"; 
?> 
最后我們需要一些內(nèi)容文件--對應(yīng)配置文件中的每一個選項。因為這些內(nèi)容都是靜態(tài)的HTML,所以我們不需要在文件里加上PHP腳標。當你在PHP里使用include()或者require()函數(shù)的時候,被調(diào)用的文件在處理過程開始的時候被跳過然后在處理結(jié)束的時候被加進來。 
"happy"文件內(nèi)容(happy.php) 
<body bgcolor=pink text=yellow> 
<font size="+5"> 
"Sad" 文件內(nèi)容 (sad.php) 
<body bgcolor=blue text=white> 
<font face="arial, helvetica" size="+5"> 
"Generic" 文件內(nèi)容 (generic.php) 
<body bgcolor=white text=black> 
<font face="courier" size="+5"> 
當你單擊頁面Display.php的時候,這個頁面的外觀和感受將會根據(jù)你在配置文件中輸入的值而改變。 
總結(jié) 
在本文中,我們討論了動態(tài)信息的基礎(chǔ)知識并使用一個腳本來創(chuàng)建由文件驅(qū)動的動態(tài)內(nèi)容。特別的是,我們使用include() 和 require() PHP函數(shù)來提取和發(fā)送我們的數(shù)據(jù)。 
下面是一些最后的話。雖然我相信你一定熟悉WAI Web編程指南,但是你也許還應(yīng)該看看W3C對于動態(tài)內(nèi)容所說的支配以及用戶對它的訪問能力。你可能還要看看PHP手冊中的這一章“使用遠程文件”來學(xué)習(xí)如何使用FTP來提取配置數(shù)據(jù)。 



主站蜘蛛池模板: 日韩国产精品99久久久久久 | 亚洲成在人 | 最近中文字幕无吗高清免费视频 | 日韩第一页在线观看 | 青青青视频精品中文字幕 | 中日韩在线视频 | 色噜噜狠狠一区二区三区 | 亚洲国产午夜看片 | 亚洲乱强伦 | 四虎永久免费网站免费观看 | 日韩一及片 | 中文字幕三级在线不卡 | 青青草视频免费在线 | 性欧美暴力猛交69hd | 青青青免费高清在线观看视频在线 | 日本天堂视频在线观看 | 亚洲 丝袜 制服 欧美 另类 | 青青青青手机在线观看 | 欧美综合视频 | 午夜影院网页 | 四虎影在线永久免费观看 | 我想看一级播放片一级的 | 日本免费观看视频 | 日本一区二区高清免费不卡 | 亚洲va韩国va欧美va | 色黄视频在线观看 | 亚洲欧美日本在线观看 | 亚洲狼人区 | 亚洲国产天堂久久综合 | 四虎www成人影院免费观看 | 在线观看欧美视频 | 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 午夜视频网站在线观看 | 四虎成人免费网站在线 | 日夜啪 | 最近日本免费观看视频 | 天天久久狠狠色综合 | 亚洲日本欧美在线 | 日本成人免费网站 | 亚洲精品永久免费 | 日韩a无v码在线播放免费 |