十天學會php之第三天,php多久學會

本文目錄一覽:

如何在十天內學會php之第一天

入門僅需3小時。沒人引路慢一點,有人講解和告訴那速度會很快。至於深入到高級那就是日積月累了

require和include的區別

nclude與require的區別

PHP中的require,require_once,include,include_once的區別

“include”與“required”的作用都是相同的,唯一不同的是PHP在遇到“include”命令時,它就必須重新解釋一次。如果在同一個PHP網頁中出現10次“include”命令時,它便會被重新解釋10次。不過當PHP遇到“require”命令時,不管它在同一個PHP網頁中出現過幾次,PHP只會解釋一次而已。

“require”的工作方式是為了讓PHP程序得到更高的效率,所以當它在同一個PHP網頁中解釋過一次後,第二次出現便不會再解釋,這是它的優點。不過嚴格來說,這也是它的唯一 的缺點,因為它不會重複解釋引入的文件,所以當PHP網頁中使用循環或條件語句來引入文件時,“require”則不會做任何的改變。當有類似這樣的情形時,就必須使用“include”命令來引入 文件了。

當PHP遇到一個利用“include”方式引入的文件,它就會解釋一次;遇到第二次時,PHP還是會重新解釋一次。與“require”相比,“include”的執行效率則會下降許多;而且當引入文件中包含了用戶自定義的函數時,PHP在解釋的過程中會發生函數重複定義的問題。不過“include”也不是沒有優點的,因為在PHP網頁中,它會每遇到一次“include”命令就會重複解釋一次,所以非常適合使用在循環或條件判斷的語句里。

“include_once()”函數和“require_once()” 函數功能完全相同,會先檢查目標檔案的內容是不是在之前就已經導入過了,如果是的話,便不會再次重複導入同樣的內容。

現在來說include和require的區別:

require()函數包含進來的內容被當成當前文件的一個組成部分,所以當包含進來的文件有語法錯誤或者文件不存在的時候,那當前文件的PHP腳本都不再執行. include()函數相當於指定這個文件的路徑,當被包含的文件有錯時,不會影響到本身的程序運行.

include函數可以進行判斷是否包含,而require則是不管任何情況都包含進來.所以這點值得注意!

建議大家在包含動態文件,也就是有變量,函數,已經類的時候用include.不過前段時間有人在分析兩個函數的執行效率.這個我沒自己測試過,等親自測試了再進行補充

通過 include() 或 require() 函數,您可以在服務器執行 PHP 文件之前在該文件中插入一個文件的內容。除了它們處理錯誤的方式不同之外,這兩個函數在其他方面都是相同的。include() 函數會生成一個警告(但是腳本會繼續執行),而 require() 函數會生成一個致命錯誤(fatal error)(在錯誤發生後腳本會停止執行)。

詳細介紹

於PHP具有快速、可靠、跨平台應用、源代碼開放等特點,使得PHP成為最受歡迎的服務器端Script語言之一。我根據自己在工作中體會到的,向大家介紹PHP使用的心得,希望對大家有所幫助。

利用PHP的Include files維護你的網站

不管你所開發的網站的規模是大是小,你都應該要認識到重複使用程序代碼的重要性,不論你重複使用的是 PHP 程序或者是 HTML 原始碼。舉個例子來說,網站頁尾的版權宣告至少每年都得修改一次,如果你的網站有許多個頁面,該怎麼辦呢?動手一個一個修改這些頁面肯定是一件頭痛的事 情。通過 PHP 我們可以用幾個不同的方式來重複使用程序代碼。要使用哪些函數端視你要重複使用的是怎樣的內容而定。

這些主要的函數包括:

* include() 與 include_once()

* require() 與 require_once()

1.include() 函數會將指定的檔案讀入並且執行裡面的程序。

例如:include(‘/home/me/myfile’);

被導入的檔案中的程序代碼都會被執行,而且這些程序在執行的時候會擁有和源文件中呼叫到 include() 函數的位置相同的變量範圍(variable scope)。你可以導入同一個服務器中的靜態檔案,甚至可以通過合併使用 include() 與 fopen() 函數來導入其它服務器上面的檔案。

2.include_once()函數的作用和 include() 是幾乎相同的

唯一的差別在於 include_once() 函數會先檢查要導入的檔案是不是已經在該程序中的其它地方被導入過了,如果有的話就不會再次重複導入該檔案(這項功能有時候是很重要的,比方說要導入的檔 案裡面宣告了一些你自行定義好的函數,那麼如果在同一個程序重複導入這個檔案,在第二次導入的時候便會發生錯誤訊息,因為 PHP 不允許相同名稱的函數被重複宣告第二次)。

3.require()函數會將目標檔案的內容讀入,並且把自己本身代換成這些讀入的內容。

這個讀入並且代換的動作是在 PHP 引擎編譯你的程序代碼的時候發生的,而不是發生在 PHP 引擎開始執行編譯好的程序代碼的時候(PHP 3.0 引擎的工作方式是編譯一行執行一行,但是到了 PHP 4.0 就有所改變了,PHP 4.0 是先把整個程序代碼全部編譯完成後,再將這些編譯好的程序代碼一次執行完畢,在編譯的過程中不會執行任何程序代碼)。require() 通常來導入靜態的內容,而 include() 則適合用來導入動態的程序代碼。

4.如同 include_once()函數,require_once() 函數會先檢查目標檔案的內容是不是在之前就已經導入過了,如果是的話,便不會再次重複導入同樣的內容。

我個人習慣使用 require() 函數來導入版權宣告(copyrights),靜態文字或其它本身不含有變量,

或者本身需要倚賴其它執行過的程序才能正確執行的程序代碼。例如:

<HTML>

<HEAD><TITLE>網頁標題</TITLE></HEAD> <BODY> [一堆內容] <?

// 導入版權宣告文字

require(‘/home/me/mycopyright’); ?>

</BODY></HTML>

另一方面,我通常在程序的開頭使用 include() 函數來導入一些函式庫或者類似的程序代碼: <?

// 導入我的函式庫

include(‘/home/me/myfunctions’);

// 利用之前導入的函式庫裡面定義好的 PHP 函數執行一些功能?> <HTML>

<HEAD><TITLE網頁標題</TITLE></HEAD> <BODY> [一堆內容] </BODY> </HTML>

接下來你可能會問這第一個挺符合邏輯的問題:「這些被導入的檔案要放在哪兒呢?」簡短的答案是:「放在服務器檔案系統里的任何地方都行。」然而,要留意的 是如果被導入的檔案除了單純的程序代碼片段以外還包含了一些敏感資料,例如連結數據庫系統要用到的帳號和密碼,那麼建議你不要把這些檔案放在 Web 服務器的文件根目錄之下,因為那樣的話他人便可以很容易地竊取到這些資料了。

你可以將這些被包含的檔案放在系統的任何一個目錄裡面,唯一的條件是 PHP 本身用來執行的身分(www,nobody 或者其它身分)必須要有足夠的權限能夠讀取這些檔案就可以了。這些檔案的擴展名也可以任意取,甚至沒有附檔名也無所謂。

善用include()和 require()來將網站裡面經常需要變動的共享內容做合理的分割,在更新網站內容的時候將會容易進行得多。

利用PHP來維護檔案系統

PHP 提供了很多與檔案系統相關的函數,讓我們不僅可以開啟檔案,還能夠顯示目錄的內容,搬移檔案的位置以及其它更多功能。有的朋友甚至寫了能夠通過瀏覽器來管理檔案內容的 PHP 程序。

在開始介紹 PHP 的檔案系統相關功能之前,我們要先理清一件事情:在 Windows操作系統里

面,檔案路徑可以使用斜線(/)或者反斜線(\)來表示,但是在其它操作系統裡面我們只會使用到斜線。為了保持統一性,下面的例 子裡面的檔案路徑都是使用斜線。

下面的例子程序我將教大家基本的目錄內容顯示功能,每個步驟都有批註,請直接閱讀。

<? /* $dir_name 這個變量的值是你想要讀取的目錄的完整路徑 */ $dir_name = “/home/me/”;

/* opendir()函數會開啟某個目錄,並且傳回一個參考值(handle)讓我們可以用來在程序中參照到該目錄 */

$dir = opendir($dir_name);

/* 開始建立一個字符串,這個字符串包含了 HTML 的列表卷標,用來顯示目錄中的文件名稱。 */

$file_list = “<ul>”;

/* 使用一個 while 循環敘述將前面開啟的目錄中的檔案全部讀取一遍。如果讀取到的檔名不是「.」或者「..」,就把該檔名寫入前面提到的字符串裡面去。 */ while ($file_name = readdir($dir)) {

if (($file_name != “.”) ($file_name != “..”)) { $file_list .= “<li>$file_name”; } }

/* 替 HTML 列表卷標加上結尾 */ $file_list .= “</ul>”;

/* 關閉之前開啟的目錄並且結束這段 PHP 程序 */ closedir($dir); ?>

<!– HTML原始碼從這裡開始 –> <HTML> <HEAD>

</HEAD> <BODY>

<!– 使用 PHP 程序來將我們所讀取的目錄名稱顯示在頁面上 –> <P>Files in: <? echo “$dir_name”; ?></p>

<!– 使用 PHP 程序將該目錄中讀取到的文件名顯示在頁面上 –> <? echo “$file_list”; ?> </BODY> </HTML>

經過上面幾步,你已經成功把某個目錄中的文件名稱顯示在網頁上了。但你要記住一點:要讀取某個目錄或者檔案(讀取檔案內容的做法稍後會介紹),PHP 本身執行所用的身分必須至少擁有該目錄或者檔案的讀取權限才行,否則系統會顯示權限不足的錯誤訊息。

下一個例子我將教大家如何複製一個檔案:

<? /* 變量$orginal儲存源文件的完整路徑,變量$copied儲存複製過去的新檔案的完整路徑 */ $original = “/home/me/mydatabasedump”; $copied = “/archive/mydatabasedumo_1010”;

/* 呼叫 copy() 函數把檔案從原始位置複製一份到新的位置去。如果無法複製,那麼便終止程序的執行並且顯示錯誤訊息。 */

@copy($original, $copied) or die(“無法複製檔案。”); ?>

上面的例子程序可以用來擴充成為一個檔案備份系統程序。當這個程序執行的時候,它會將數據庫的數據文件複製到其它目錄下面做為備份之用。只要修改系統的排 程檔案內容(crontab),我們便可以讓這個程序自動在每天的固定時間執行一次,達到系統自動備份,不需要人工手動執行。

如果你的系統上面有安裝 Lynx 軟件(Lynx 是一種純文字的 Web 瀏覽器)的話,你可以在系統排程檔案裡面加入下面這筆記錄來讓系統在固定時間自動激活 Lynx 並且呼叫我們之前寫好的 PHP 備份程序。當 Lynx 呼叫(瀏覽)我們的 PHP 程序的時候,該程序就會被執行,並且產生備份文件。下面這個例子教你如何在每天早晨五點鐘執行我們的備份程序,並且在執行完以後自動將 Lynx 程序關閉:

來自:閆志飛166 《php》

上一篇:php 導出excel (html)

下一篇:Windows版本Apache+php的Xhprof應用——1

轉藏到我的圖書館

獻花(0)

分享到微信

分享:

類似文章

更多

PHP之PHP文件引用詳解

比較require(),include(),require_once(…

php header函數使用要點

include 和 include_once 有什麼分別?r…

十天學會PHP/第六天:PHP日期、引用

PHP中file_exists與is_file,is_dir的區別….

php 刪除目錄下N分鐘前創建的所有文件

過濾危險html代碼的php自定義函數

熱門推廣

猜你喜歡

最美雪景欣賞——你那裡下雪了嗎?

廣告營銷如千軍萬馬過獨木橋 成功質…

思鄉最是詩行,給漂泊的遊子

為了不得癌症,今天就要做

初戀的地方

36種吃得起的抗衰老食物

世界十大神秘”鬼船”有什麼神秘故事

公共基礎知識4000題

老師常用教學網站賬號密碼大集合

沒有掃描儀,怎麼辦?用什麼代替?

發表評論:

您好,請 登錄 或者 註冊 後再進行評論

其它帳號登錄:

最新文章

深入理解php底層:php生命周期

通過virtualbox最小化安裝centos 6.3…

debian下控制台和VI彩色顯示ssh

Ubuntu下使用SVN

sources鏡像:sources.list.wheezy.de…

nginx.conf 配置lnmp

更多

熱門文章

沒見過60種花捲的做法吧別錯過學習的…

“中國式xx”讓全世界哭笑不得

小學英語輔導全套視頻教程【珍藏版】

我 家 寶 貝 女 兒[5]

【從“小一“至“高三“各年級對孩子…

灌湯包的皮怎麼做又薄又透,能當氣球吹

蜂蜜加肉桂 —- 令人嘆為觀止的神奇

德國製造和中國製造究竟不同在哪

女人的苦處:寫的非常好——

外媒一則漫畫揭示中美博弈(很喜感)

白酒鮮姜雲南白藥粉治禿頂脫髮效果神奇

人要長生,腸要常清

更多

關閉

關閉

跪求php好一點的教程

【2】韓順平老師php從入門到精通149講百度網盤免費資源在線學習

鏈接:

?pwd=9993 提取碼: 9993  

【2】韓順平老師php從入門到精通149講 下載必看.txt 海量精品建站資源盡在青龍建站教程自學網.zip 更多建站教程請點擊這裡.url 點擊獲取解壓密碼.url 第149講 開發自己的網上支付平台⑤-防止回調頁面刷新.wmv 第148講 開發自己的網上支付平台④-接收支付結果.wmv 第147講 開發自己的網上支付平台③-發送支付請求.wmv 第146講 開發自己的網上支付平台②-商家與易寶支付網關對接詳解.wmv 第145講 開發自己的網上支付平台①-網上支付的兩種方式及其流程介紹.wmv 第144講 php xml編程(11)-基於xml的在線詞典評講.wmv 第143講 php xml編程(10)-SimpleXML.wmv 第142講 php xml編程⑨-綜合練習-基於xml的在線詞典 phpdom使用xpath.wmv 第141講 php xml編程⑧-phpdom編程(3) 綜合練習-基於xml的在線詞典.wmv 第140講 php xml編程⑦-phpdom編程(2).wmv 

想自學PHP請問如何學習,該從哪一步開始

從最基礎的入門,可以在網上搜索一個叫《十天學會PHP》的教程,在本地安裝個 PHP一鍵安裝版得教程,然後動手按教程寫代碼。自學需要多動手,在實際操作中體會。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/284998.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 15:43
下一篇 2024-12-22 15:43

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python自學多久能入門?

    Python是一門極具優勢的編程語言,無論在人工智能、數據分析、Web開發等領域都有廣泛的應用,所以越來越多的人開始學習Python。但是對於初學者來說,Python自學多久能入門…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python學成需要多久?

    Python是一種高級編程語言,曾經被譽為是“世界上最有吸引力的編程語言”。無論是初學者還是有經驗的開發人員,Python都廣受歡迎。那麼,Python學成需要多久呢?本文將從幾個…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24

發表回復

登錄後才能評論