国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

動態網頁技術PHP程序中包含文件問題

2024-05-04 23:02:51
字體:
來源:轉載
供稿:網友

如果你目前著手的web站點開發項目規模較大,那你對代碼重用必定深有體會,比方說,不管是html還是php代碼塊,只要項目足夠大,比如有1000個web頁,你即便是一年只修改一次包含版權信息的頁腳也會讓你痛不欲生。

而php可以通過一些函數幫助你重用代碼,你要具體用到的函數依賴于你打算重用的內容。

主要的函數是:

* include() 和 include_once()
* require() 和require_once()

include()函數包含給定的文件,比如:

include('/home/me/myfile');

包含文件中的任何代碼都將在include() 所在的代碼頁的變量范圍之內執行。你可以包含服務器上的靜態文件或者包含在其他服務器上的目標文件,方法是組合使用include()和fopen()。

include_once()函數和include()函數功能類似,只是該函數會檢查被包含文件內的代碼是否已經被目前的腳本所包含過。如果代碼已經被腳本所包含,該函數就不再包含相應的文件了。

require()函數用給定文件的內容取代自身。這一替換過程發生在php引擎編譯你的代碼而不是執行代碼階段,這可和include()不一樣,后者首先被計算再加到文擋中。require()函數多用于靜態元素,而include()函數則主要用于動態元素。和include_once()類似, require_once()函數會檢查給定代碼是否早已經插入到了文擋內,如果這樣,給定代碼就不會被再次插入文檔。

我建議你最好對諸如版權、靜態文本和其他不含變量的元素這類信息采用require函數,那些依賴其他腳本來實現自己內容的元素也最好采用require函數,例如:

<html>
<head><title>something</title></head>
<body>
[a lot of content]
<?
// insert copyright
require('/home/me/mycopyright');
?>
</body>
</html>

另一方面,我經常用include()函數把函數庫或類似的內容放到腳本之外:

<?
// get my function library
include('/home/me/myfunctions');
// do php things with my functions ?>
<html>
<head><title>something</title></head>
<body>
[a lot of content]
</body>
</html>

你肯定會問:“那么,被included或者被required的文件都來自哪里呢?”答案很簡單:“你的系統。”不過,有時,有些代碼會包含了諸如帶有用戶名和密碼的數據庫連接函數之類的安全信息,在這樣的情況下,顯而易見,你肯定不希望這些東西也成為文檔的一部分弄得全世界都知道。

你可以把包含文件(included或者required)放在系統的任何地方,只要用戶所能用到的php可以訪問這些文件即可。你還可以給這些文件以任何你希望給出的文件擴展名,或者不設擴展名。

使用include()和require()函數可以讓web站點上普遍存在或者經常變動的元素變得更加容易處理。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 健康| 滨州市| 巴南区| 瑞丽市| 宜丰县| 叶城县| 甘孜| 黑龙江省| 彭水| 临沂市| 农安县| 新昌县| 陇西县| 新化县| 精河县| 洪湖市| 广西| 扶绥县| 林芝县| 长春市| 元谋县| 湖口县| 会宁县| 冕宁县| 长子县| 道孚县| 丹凤县| 万山特区| 松原市| 保德县| 探索| 军事| 和田县| 平邑县| 中宁县| 金溪县| 瑞金市| 安达市| 繁昌县| 金溪县| 长垣县|