本文目錄一覽:
php可以設置動態網頁嗎
據Merriam-WebsterOnline地解釋,動態一詞的意思是網頁的內容由「通常是連續的和實時生成的活動或者改變的信息組成。」因此當我們談論動態數據的時候,我們也就是在談論作為Web頁面發送給用戶的信息是由不同的源數據組合而成的。這與靜態網頁的概念是相對的,靜態網頁的內容並不依賴用戶輸入的數據而改變而且通常是直接解析給用戶。Web頁面上的動態信息有三種主要的類型:
動態數據–在一個Web頁面里產生的變量。
動態Web頁面–整個Web頁面都是動態生成的。
動態內容–Web頁面的一部分是動態生成的。
你如果希望對動態內容產生的過程進行細微的控制,就象動態數據的那種類型一樣,那麼數據處理的過程就會複雜一些。而如果你想生成大範圍的信息,就象動態Web頁面的生成那樣,那麼程序的邏輯就會變得複雜。動態內容的生成是這兩種方式的折衷,它能夠讓我們使用兩個很有用的PHP函數,include()和require()。
要記住,你在後端加入的邏輯越多,那麼你的Web站點的性能將會損失得越嚴重。幸運的是,PHP能夠很流暢的進行預處理過程,所以當我在處理動態內容和數據的時候都儘可能多的使用PHP的功能。
數據源和PHP功能
所有的動態內容都有一個共同點:它們從一個原始頁面以外的數據源而來。圖A列出了一些常見的數據源以及用來處理它們的相應的PHP函數。
FigureA
數據源
PHP函數
注釋
User
$HTTP_POST_VARS
$HTTP_GET_VARS
這些函數處理由用戶通過Web表單直接輸入的數據。
Database(localorremote)
dbtype_connect()
dbtype_pconnect()
dbtype_close()
dbtype_function()
example:
mysql_fetch_array()
這些都只是PHP許多數據庫訪問函數中的一部分,許多函數是為每個不同的數據庫特別編寫的。你能夠在PHP函數參考手冊里找到這些函數的完整列表。
Remotefile
fopen(),fclose()
fgets(),fputs()
這些函數處理一個遠程服務器上文件中的數據,這個文件可以通過FTP訪問。
Localfile
include(),require()
fopen(),fclose()
這些函數處理位於本地服務器上的文件中的數據,比方說配置文件。
常見的數據源和處理它們的PHP函數
在這篇文章「教程:PHP起步中,」我們觀看了一個演示的腳本,這個腳本要求用戶輸入他們最喜歡的數字。根據用戶輸入的結果,我們在Web頁面上顯示一條消息。這就是一個由用戶驅動的動態Web內容的例子。從Web表單返回的結果將決定顯示的內容。一個更複雜的例子是「點擊流程」應用程序,這個程序能夠根據一個用戶在Web站點上訪問過的頁面來決定向他或者她發送什麼廣告。
一旦數據已經輸入,不管它是由用戶或者其它的方式輸入的,將會被保存在一個數據庫中並在以後重新使用。如果它被用來決定顯示的內容,那麼這些內容將可以被認為是「由數據庫驅動的動態內容。」我們將在下一篇文章中更仔細的看看這種類型的動態信息。目前,讓我們先察看一個由文件驅動的動態內容的簡單的PHP腳本的例子。我們將使用基於一個配置文件的邏輯來決定在Web頁面上應該顯示什麼樣的頁面風格和字體。我們選擇的頁面風格將會在用戶請求Web頁面的時候顯示出來。(這裡我想就包括文件的例子給你提個醒:你真的應該在這個例子中為完成要求的功能而使用風格頁。)
例子程序:Display.php
Display腳本使用一個獨立的配置文件來包含變量值和幾個含有HTML的變量部分的包括文件。雖然這看起來不是特別動態,但是你能夠輕易的要求用戶使用Web表單來創建一個配置文件並使用一定的邏輯來判斷應該加載哪一個配置文件,等等。(我們在「理解PHP的函數和類」這篇文章中所作的討論將幫助你完成這個工作。)
由於本文的目的所限,我們將跳過這方面的處理過程並盡量使它簡化。表A展示了我們的主頁面,以及你通過瀏覽器調用的頁面,Display.php。(PHP代碼將用粗體進行顯示。)
表A
這段簡單的代碼必須做三件事情:
使用PHPinclude()函數來包含!–display.php這個Web頁面的風格由一個配置文件決定–
html
head
titleMoodPage/title
/head
?php
include(“displayconf.php”);
$required_file=$display.”.php”;
require$required_file;
?
brbr
centerThisisthebest”moodpage”ever!/center
/font
/body
/html
Displayconf.php中的變量並對它們進行求值。
創建一個表示用戶請求的文件名的變量。在我們這個例子中,Displayconf.php文件里定義的變量$display被求值,然後加上.php後綴。(這是由我們的邏輯完成的。)
使用PHP的require()函數顯示正確的包含文件里的內容。
你應該注意到在我們的例子中,PHPrequire()函數和include()函數是完全可以互換的。這兩個函數之間主要的區別在於目標文件處理的方式不同。一個require()語句將會由它所調用的文件替換。這意味着在一個循環當中,遠程的文件只會被調用一次。而另一方面,在每次遇到include()函數的時候,它都會被重新求值。這意味着在一個循環的過程中,文件將在每一次循環過程中都被訪問一次,而且在包括文件中設置的變量每次都會更新。
在這個例子中,我試圖講清楚什麼時候使用什麼函數合適。對於文件Displayconf.php,很有可能它裏面的變量值已經改變。畢竟,這是一個配置文件。因此,我選擇了include()函數。而另一方面,$required文件在交互的過程中很有可能不會改變。如果用戶請求的是不同的文件體,那麼我們有可能會創建一個新的文件再把它包括進來,所以我使用require()函數。
高級用戶可能希望看看PHP的手冊來了解更多的關於函數require_once()和include_once()的信息以便能夠對文件處理和配置文件變量的管理進行更好的控制。
表B顯示了我們的配置文件,Displayconf.php。(為了簡單化的目的,我們將把所有的文件放在和Web服務器相同的目錄下。)我們在這裡要做的就是將$display變量設置成一個可選的值。
表B
?php#displayconf.php
#display.php的配置文件
#————————————————-
#將變量$display設置成下列值之一:
#happy,sad,或者generic
$display=”happy”;
?
最後我們需要一些內容文件–對應配置文件中的每一個選項。因為這些內容都是靜態的HTML,所以我們不需要在文件里加上PHP腳標。當你在PHP里使用include()或者require()函數的時候,被調用的文件在處理過程開始的時候被跳過然後在處理結束的時候被加進來。
“happy”文件內容(happy.php)
bodybgcolor=pinktext=yellow
fontsize=”+5″
“Sad”文件內容(sad.php)
bodybgcolor=bluetext=white
fontface=”arial,helvetica”size=”+5″
“Generic”文件內容(generic.php)
bodybgcolor=whitetext=black
fontface=”courier”size=”+5″
當你單擊頁面Display.php的時候,這個頁面的外觀和感受將會根據你在配置文件中輸入的值而改變。
總結
在本文中,我們討論了動態信息的基礎知識並使用一個腳本來創建由文件驅動的動態內容。特別的是,我們使用include()和require()PHP函數來提取和發送我們的數據。
下面是一些最後的話。雖然我相信你一定熟悉WAIWeb編程指南,但是你也許還應該看看W3C對於動態內容所說的支配以及用戶對它的訪問能力。你可能還要看看PHP手冊中的這一章「使用遠程文件」來學習如何使用FTP來提取配置數據。
PHP如何動態顯示網頁內容
手動修改成網頁,或者動態分析文章數據比如一行一行的讀入然後在行前行後自動添加空格換行段落等網頁標記,平時我們用的回車,空格等網頁是會拋棄的必須使用網頁標記區分段落
sae怎麼用php動態生成網頁
以最簡單的新聞網頁為例,先是做一個模板頁,假定其中3個地方要動態更換的:標題,內容,日期,哪么模板中這3個地方都要用特殊的名稱表示。
要生成html頁時,先讀入html模板頁,再查詢數據庫,把查詢到標題,內容,日期的實際值替換模板中的特殊名稱,並按規則命名另存這個文件。
以上是動態生成html頁的基本原理,實際工作中,可靈活處理,比如一次性生成所有頁,或者發佈一個生成一個,可以用一個模板,也可以根據類別用3個5個模板。模板可以保存為文件文件,也可保存在數據庫中等等。
PHP動態網頁製作 ,需要什麼軟件, 需要掌握那些知識?
編程軟件:netbeans PHP版 或者 PDT
其他軟件:xampp(apache+mysql+php+perl+…),firefox 3.6 以上+firebug插件
基礎知識:HTML,CSS,PHP,javascript,ajax,PHP各種類庫,比如GD2
進階知識1:OOPHP(面向對象PHP),smarty模板,PHP網頁安全 等等
進階知識2:各種框架,symfony、zend、CI、cakephp、thinkphp 等等
高階知識:CGI,memcache、PHP內存管理 等等
附帶知識:flash,flex,silverlight等
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/277402.html