標籤:
1、多維陣列
2、日期,
- d - 表示月裡的某天(01-31)
- m - 表示月(01-12)
- Y - 表示年(四位元)
- 1 - 表示周裡的某天
© 2010-<?php echo date("Y")?>,使用 date() 函數在您的網站上自動更新版本年份
- h - 帶有首位零的 12 小時小時格式
- i - 帶有首位零的分鐘
- s - 帶有首位零的秒(00 -59)
- a - 小寫午前和午後(am 或 pm)
maketime()建立日期strtotime()用字串來建立日期 3、include,通過 include 或 require 語句,可以將 PHP 檔案的內容插入另一個 PHP 檔案(在伺服器執行它之前),require語句產生致命錯誤終止指令碼進行,include會產生警告資訊指令碼繼續。文法:include ‘filename’,網站中的所有頁面均使用此菜單檔案。具體的做法是(我們使用了一個 <div> 元素,這樣今後就可以輕鬆地通過 CSS 設定樣式),然後,如果我們引用這個 "vars.php" 檔案,就可以在調用檔案中使用他裡面的那些變數,就是引用哪個連他裡面的變數一起都可以用;4、php檔案處理,當您操作檔案時必須非常小心。如果您操作失誤,可能會造成非常嚴重的破壞。常見的錯誤是:編輯錯誤的檔案,被垃圾資料填滿硬碟,意外刪除檔案內容,如果您想做的所有事情就是開啟一個檔案並讀取器內容,那麼 readfile() 函數很有用。加上一些目錄。5、在伺服器上讀取開啟檔案,開啟檔案的更好的方法是通過 fopen() 函數。此函數為您提供比 readfile() 函數更多的選項。fopen() 的第一個參數包含被開啟的檔案名稱,第二個參數規定開啟檔案的模式。如果 fopen() 函數未能開啟指定的檔案,下面的例子會產生一段訊息,<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");echo fread($myfile,filesize("webdictionary.txt"));fclose($myfile);?>
fread() 函數讀取開啟的檔案。fread() 的第一個參數包含待讀取檔案的檔案名稱,第二個參數規定待讀取的最大位元組數。fclose() 函數用於關閉開啟的檔案。
fgets() 函數用於從檔案讀取單行。
feof() 函數檢查是否已到達 "end-of-file" (EOF)。
feof() 對於遍曆未知長度的資料很有用。
fgetc() 函數用於從檔案中讀取單個字元。
6、php檔案建立寫入,fopen() 函數也用於建立檔案。也許有點混亂,但是在 PHP 中,建立檔案所用的函數與開啟檔案的相同。fwrite() 函數用於寫入檔案。fwrite() 的第一個參數包含要寫入的檔案的檔案名稱,第二個參數是被寫的字串。
7、檔案上傳,<input> 標籤的 type="file" 屬性規定了應該把輸入作為檔案來處理。舉例來說,當在瀏覽器中預覽時,會看到輸入框旁邊有一個瀏覽按鈕。通過使用 PHP 的全域數組 $_FILES,你可以從客戶電腦向遠程伺服器上傳檔案。對於 IE,識別 jpg 檔案的類型必須是 pjpeg,對於 FireFox,必須是 jpeg。
8、php cookies,cookie 常用於識別使用者。cookie 是伺服器留在使用者電腦中的小檔案。每當相同的電腦通過瀏覽器請求頁面時,它同時會發送 cookie。通過 PHP,您能夠建立並取回 cookie 的值。setcookie() 函數用於設定 cookie。setcookie() 函數必須位於 <html> 標籤之前。
setcookie(name, value, expire, path, domain);
setcookie("user", "Alex Porter", time()+3600);
在發送 cookie 時,cookie 的值會自動進行 URL 編碼,在取回時進行自動解碼(為防止 URL 編碼,請使用 setrawcookie() 取而代之)。PHP 的 $_COOKIE 變數用於取回 cookie 的值。我們使用 isset() 函數來確認是否已設定了 cookie。當刪除 cookie 時,您應當使到期日期變更為過去的時間點。
setcookie("user", "", time()-3600);如果您的應用程式涉及不支援 cookie 的瀏覽器,您就不得不採取其他方法在應用程式中從一張頁面向另一張頁面傳遞資訊。一種方式是從表單傳遞資料(有關表單和使用者輸入的內容,稍早前我們已經在本教程中介紹過了)。
9、php session,PHP session 變數用於儲存有關使用者會話的資訊,或更改使用者會話的設定。Session 變數儲存的資訊是單一使用者的,並且可供應用程式中的所有頁面使用。Session 的工作機制是:為每個訪問者建立一個唯一的 id (UID),並基於這個 UID 來儲存變數。UID 儲存在 cookie 中,亦或通過 URL 進行傳導。
在您把使用者資訊儲存到 PHP session 中之前,首先必須啟動會話。
<?php session_start(); ?><html><body></body></html>
儲存和取回 session 變數的正確方法是使用 PHP $_SESSION 變數:
如果您希望刪除某些 session 資料,可以使用 unset() 或 session_destroy() 函數。session_destroy() 將重設 session,您將失去所有已儲存的 session 資料。
10、php寄送電子郵件,PHP mail() 函數用於從指令碼中寄送電子郵件。mail(to,subject,message,headers,parameters)。
11、php安全的電子郵件,假如使用者在表單中的輸入框內加入這些文本,會出現什麼情況呢?
[email protected]%0ACc:[email protected]
%0ABcc:[email protected],[email protected],
[email protected],[email protected]
%0ABTo:[email protected]
與往常一樣,mail() 函數把上面的文本放入郵件標頭部,那麼現在頭部有了額外的 Cc:, Bcc: 以及 To: 欄位。當使用者點擊提交按鈕時,這封 e-mail 會被發送到上面所有的地址!
防止 e-mail 注入的最好方法是對輸入進行驗證。我們使用了 PHP 過濾器來對輸入進行驗證:
- FILTER_SANITIZE_EMAIL 從字串中刪除電子郵件的非法字元
- FILTER_VALIDATE_EMAIL 驗證電子郵件地址
12、在 PHP 中,預設的錯誤處理很簡單。一條訊息會被發送到瀏覽器,這條訊息帶有檔案名稱、行號以及一條描述錯誤的訊息。我們將為您講解不同的錯誤處理方法: 簡單的 "die()" 語句 自訂錯誤和錯誤觸發器 錯誤報表
建立一個自訂的錯誤處理器非常簡單。我們很簡單地建立了一個專用函數,可以在 PHP 中發生錯誤時調用該函數。
該函數必須有能力處理至少兩個參數 (error level 和 error message),但是可以接受最多五個參數(可選的:file, line-number 以及 error context):error_function(error_level,error_message,
error_file,error_line,error_context);
參數 |
描述 |
error_level |
必需。為使用者定義的錯誤規定錯誤報表層級。必須是一個值數。 參見下面的表格:錯誤報表層級。 |
error_message |
必需。為使用者定義的錯誤規定錯誤訊息。 |
error_file |
可選。規定錯誤在其中發生的檔案名稱。 |
error_line |
可選。規定錯誤發生的行號。 |
error_context |
可選。規定一個數組,包含了當錯誤發生時在用的每個變數以及它們的值。 來源: <http://www.w3school.com.cn/php/php_error.asp> |
值 |
常量 |
描述 |
2 |
E_WARNING |
非致命的 run-time 錯誤。不暫停指令碼執行。 |
8 |
E_NOTICE |
Run-time 通知。 指令碼發現可能有錯誤發生,但也可能在指令碼正常運行時發生。 |
256 |
E_USER_ERROR |
致命的使用者產生的錯誤。這類似於程式員使用 PHP 函數 trigger_error() 設定的 E_ERROR。 |
512 |
E_USER_WARNING |
非致命的使用者產生的警告。這類似於程式員使用 PHP 函數 trigger_error() 設定的 E_WARNING。 |
1024 |
E_USER_NOTICE |
使用者產生的通知。這類似於程式員使用 PHP 函數 trigger_error() 設定的 E_NOTICE。 |
4096 |
E_RECOVERABLE_ERROR |
可捕獲的致命錯誤。類似 E_ERROR,但可被使用者定義的處理常式捕獲。(參見 set_error_handler()) |
8191 |
E_ALL |
所有錯誤和警告,除層級 E_STRICT 以外。 (在 PHP 6.0,E_STRICT 是 E_ALL 的一部分) |
在指令碼中使用者輸入資料的位置,當使用者的輸入無效時觸發錯誤的很有用的。在 PHP 中,這個任務由 trigger_error() 完成。您可以在指令碼中任何位置觸發錯誤,通過添加的第二個參數,您能夠規定所觸發的錯誤層級。錯誤記錄,預設地,根據在 php.ini 中的 error_log 配置,PHP 向伺服器的錯誤記錄系統或檔案發送錯誤記錄。通過使用 error_log() 函數,您可以向指定的檔案或遠程目的地發送錯誤記錄。
error_log("Error: [$errno] $errstr",1, "[email protected]","From: [email protected]");
13、異常處理,異常(Exception)用於在指定的錯誤發生時改變指令碼的正常流程。拋出異常而不捕獲他會產生嚴重的錯誤。正確的為Try,throw,catch。function裡寫exception,調用裡try,catch。不過,為了遵循“每個 throw 必須對應一個 catch”的原則,可以設定一個頂層的異常處理器來處理漏掉的錯誤。建立自訂的例外處理常式非常簡單。我們簡單地建立了一個專門的類,當 PHP 中發生異常時,可調用其函數。該類必須是 exception 類的一個擴充。這個自訂的 exception 類繼承了 PHP 的 exception 類的所有屬性,您可向其添加自訂的函數。可以為一段指令碼使用多個異常,來檢測多種情況。可以使用多個 if..else 代碼塊,或一個 switch 代碼塊,或者嵌套多個異常。這些異常能夠使用不同的 exception 類,並返回不同的錯誤訊息,有時,當異常被拋出時,您也許希望以不同於標準的方式對它進行處理。可以在一個 "catch" 代碼塊中再次拋出異常。指令碼應該對使用者隱藏系統錯誤。對程式員來說,系統錯誤也許很重要,但是使用者對它們並不感興趣。為了讓使用者更容易使用,您可以再次拋出帶有對使用者比較友好的訊息的異常。設定頂層異常:set_exception_handler() 函數可設定處理所有未捕獲異常的使用者定義函數。在上面的代碼中,不存在 "catch" 代碼塊,而是觸發頂層的例外處理常式。應該使用此函數來捕獲所有未被捕獲的異常。
14、php過濾器,PHP 過濾器用於驗證和過濾來自非安全來源的資料,比如使用者的輸入。輸入過濾是最重要的應用程式安全課題之一。
什麼是外部資料? 來自表單的輸入資料 Cookies 伺服器變數 資料庫查詢結果。如需過濾變數,請使用下面的過濾器函數之一: filter_var() - 通過一個指定的過濾器來過濾單一的變數 filter_var_array() - 通過相同的或不同的過濾器來過濾多個變數 filter_input - 擷取一個輸入變數,並對它進行過濾 filter_input_array - 擷取多個輸入變數,並通過相同的或不同的過濾器對它們進行過濾。
有兩種過濾器:
Validating 過濾器:
- 用於驗證使用者輸入
- 嚴格的格式規則(比如 URL 或 E-Mail 驗證)
- 如果成功則返回預期的類型,如果失敗則返回 FALSE
Sanitizing 過濾器: 用於允許或禁止字串中指定的字元 無資料格式規則 始終返回字串。 通過使用 FILTER_CALLBACK 過濾器,可以調用自訂的函數,把它作為一個過濾器來使用。這樣,我們就擁有了資料過濾的完全控制權。15、本章節我們將為大家介紹如何使用 PHP 語言來編碼和解碼 JSON 對象。
json_encode |
對變數進行 JSON 編碼 |
json_decode |
對 JSON 格式的字串進行解碼,轉換為 PHP 變數 |
json_last_error |
返回最後發生的錯誤 |
php xml ajax 7-19(表示要學JAVA了,唉,要去支援。。。)