亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP文件加載和錯誤處理的介紹

2020-03-22 17:27:19
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于PHP文件加載和錯誤處理的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

知識點:

1-文件加載

2-錯誤處理

文件加載 文件加載語句

1) 4個文件加載語句:include, require, include_once, require_once

2) 使用形式相同。include “要加載的文件完整路徑”; 或 include(“要加載的文件完整路徑”);

如: include d:/index.php

3) 可以載入的文件: php 或 html文件

路徑

1) 相對路徑: 相對于當前網頁文件所在的位置來定位某個被加載的文件位置

./ : 表示當前位置,即當前網頁文件所在的位置(目錄);
../ : 表示上一級位置,即當前網頁文件所在的位置的上一級位置(目錄);

2)絕對路徑

本地絕對路徑; 如: include d:/demo/index.php

網絡絕對路徑; 如: include http://www.baidu.com/demo/index.php

3) 不寫路徑,直接文件名

實質是加載當前目錄下的指定文件名

如: include index.php //PHP語言引擎會在當前網頁目錄下找該文件

文件載入執行過程

step 1: 從include|require 語句處退出PHP腳本模式(進入html代碼模式)step 2:載入include|require 語句所設定的文件中的代碼,并執行step 3:退出html模式重新進入php腳本模式,繼續之后的代碼

include,include_once, require,require_once的區別

1) include 與 require 的區別, 或 include_once與require_once的區別

include或include_once 載入文件失敗時(即沒有找到該文件),報“提示錯誤“,然后繼續執行后續代碼;

require 或 require_once載入文件失敗時,報錯并立即終止執行。

一般,require用于在程序中,后續的代碼依賴于載入的文件的時候。

2) inlcude 與 include_once, 或require與require_once的區別

include 或 require載入的文件不判斷是否重復,只要有include或 require語句,就會載入一次---即可能重復載入。
include_once或require_once載入的文件會有內部判斷機制是否“前面代碼“已經載入過,如果載入過,就不再載入。
如: 如網頁中常見兩邊有相同的廣告,就是用include

被載入文件中return的使用

1) include,require,include_once,require_once載入語句,如果載入成功返回1,載入失敗返回false

2) 如果被載入的文件中有return, 則在該return后的該文件內容不被載入 --終止載入

可以用于: 被載入文件給載入文件返回一個數據

錯誤處理 錯誤分類

1) 語法錯誤

如果語法有錯誤,就會立即報錯,并且不會去執行程序

2) 運行時錯誤

在程序語法檢查通過后,開始運行程序,并在此過程中遇到的錯誤

常見3類錯誤: 提示性錯誤,警告性錯誤,致命錯誤

3) 邏輯錯誤

程序本身可以正常執行,沒有報錯。但并不是想要的結果。

錯誤分級

1) 技術層面的錯誤分級: PHP語言中,將各種錯誤進行了不同級別的分類歸納

每一級別的錯誤,都有一個“代號”,這個代號是系統內部的一個“常量”

2)系統常見錯誤

E_ERROR: 致命錯誤
E_WARNING: 警告性錯誤
E_NOTICE: 提示性錯誤

3) 用戶自定義錯誤

E_USER_ERROR: 自定義致命錯誤
E_USER_WARNING: 自定義警告性錯誤
E_USER_NOTICE: 自定義提示性錯誤

4) 其他

E_STRICT: 嚴謹性語法檢查錯誤
E_ALL: 代表所有錯誤

詳細參考手冊: 函數參考》影響PHP行為的擴展》錯誤處理和日志記錄》預定義常量

 1 ?php  2 function getBinStr($e) {  3 $s = decbin($e); //這是一個二進制數字字符串  4 /*  5 str_pad($str1,長度n,$str2,位置w)函數:  6 將字符串$str1,用字符串$str2填充到指定的長度n,  7 可以指定填充的位置w,左邊填充還是右邊填充  8 */  9 $s1 = str_pad($s,16, 0 ,STR_PAD_LEFT); 10 return $s1; 11 } 12 echo pre  13 echo E_EEROR = .E_ERROR . /t/t其對應二進制值為: . getBinStr(E_ERROR); //1 14 echo br / E_WARNING = .E_WARNING. /t/t其對應二進制值為: . getBinStr(E_WARNING); //2 15 echo br / E_NOTICE = .E_NOTICE. /t/t其對應二進制值為: . getBinStr(E_NOTICE); //8 16 echo br / E_USER_NOTICE = .E_USER_NOTICE. /t/t其對應二進制值為: . getBinStr(E_USER_NOTICE); //1024 17 echo br / E_ALL = .E_ALL. /t/t其對應二進制值為: . getBinStr(E_ALL); //32767 18 echo /pre  19 ? 

查看錯誤分級對應的二進制數測試

錯誤觸發

1) 方式1: 系統觸發

典型錯誤3種:

E_NOTICE: 提示性錯誤: 會輸出錯誤提示,并繼續執行后續代碼;如:使用不存在的變量或常量

E_WARNING: 警告性錯誤: 會輸出錯誤提示,并繼續執行后續代碼; 如: include載入一個不存在的文件:

E_ERROR: 致命錯誤: 導致程序無法執行后續語句; 如: 一個不存在的函數??!

2) 方式2: 自定義觸發

1) 概念: 當處理某些數據時,數據本身沒有錯誤,但根據具體應用(業務)的需要,會要求數據滿足某種條件,而該數據并不滿足的時候,可以在程序中“主動”去觸發(創建)一個錯誤,以表明該數據的“非法性”。

2) 語法形式: trigger_error(“錯誤提示信息內容”,3種用戶錯誤代號之一);

如果觸發了用戶的致命錯誤(E_USER_ERROR),會終止程序的后續執行

錯誤報告的顯示

1) 錯誤報告: 顯示在網頁上的錯誤提示內容

2) 是否顯示錯誤報告 ? display_errors

方式1:全局設置

修改配置文件php.ini 的配置項 display_errors = On; //表示顯示 如果是Off表示關閉

方式2: 局部設置

在php腳本文件中使用函數ini_set()來對它進行設置; 如 ini_set( display_errors ,0); //不顯示錯誤報告

該方式設置要優先于全局設置

3) 顯示哪些級別的錯誤報告? error_reporting

前提: display_errorrs=On;

方式1: 全局設置

修改配置文件php.ini 的配置項error_reporting, 如 : error_reporting = E_NOTICE | E_WARNING | E_ERROR

方式2: 局部設置

在php腳本文件中使用函數ini_set()來對它進行設置 , 如init_set(“error_reporting”,E_NOTICE | E_WARNING | E_ERROR),

錯誤日志的記錄

1)是否記錄錯誤日志? log_errors

方式1: 全局設置

修改配置文件php.ini 的配置項log_errors, 如 : log_errors= On; //記錄錯誤日志

方式2: 局部設置

在php腳本文件中使用函數ini_set()來對它進行設置 , 如init_set(“log_errors”,1);//記錄錯誤日志

獲取php.ini配置項: ini_get( 配置項 ); //獲取php.ini的指定配置項值

2)記錄到哪里? error_log

可以指定位置或記錄到系統日志中

指定位置文件中:直接使用文件名,系統會自動在文件夾下都建立該文件名,并用其記錄該文件夾下的所有網頁文件發生的錯誤信息。

ini_set( error_log , myError.txt //如果有錯誤,將記錄在myError.txt文件中

寫入系統日志中: ini_set( error_log , syslog //所有錯誤日志記錄到系統 日志文件 中

自定義錯誤處理器

1)錯誤處理器: 發生錯誤,用來處理該錯誤的一種方法。實質就是一個函數

2) 自定義錯誤處理器: 將原本有系統處理錯誤變為開發者自定義對錯誤顯示和記錄處理

3) 分2步:

step 1: 設定用于處理錯誤的函數 set_error_handler( 函數名 ); 如 set_error_handler( myError

step 2: 聲明定義處理錯誤的函數。 如 function myError($errCode, $errMsg, $errFile, $errLine) { //錯誤處理 }

 1 ?php  2 //自定義錯誤處理器  3 //第一步: 設定要作為錯誤處理的函數名  4 set_error_handler( my_error_handler  6 //第2步: 定義函數  7 /**  8 * 自定義錯誤處理函數  9 * 該函數不要在程序中調用,一發生錯誤會被自動調用,而且會傳入該4個實參數據 10 * @param string $errCode 錯誤代號(級別) 11 * @param string $errMsg 錯誤信息的內容 12 * @param string $errFile 發生錯誤的文件名 13 * @param int $errLine 代表發生錯誤的行號 14 * @return void 15 */ 16 function my_error_handler($errCode,$errMsg,$errFile,$errLine) { 17 $str =  18 $str .= p b font color= red 錯誤: /font /b  19 $str .= br / 錯誤代號是: .$errCode; 20 $str .= br / 錯誤內容是: .$errMsg; 21 $str .= br / 錯誤文件是: .$errFile; 22 $str .= br / 錯誤行號是: .$errLine; 23 $str .= br / 發生的時間: .date( Y-m-d H:i:s  24 $str .= /p  25 echo $str; //輸出該“構建”的錯誤完整處理結果 26 //可以將該內容寫入到某個文件去,既記錄錯誤日志 27 } 29 //以下是錯誤代碼 30 echo br / aaaa  31 echo $v1; //使用不存在的變量 32 echo C1; // 使用不存在的常量 33 echo br / bbbb  34 echo hr / 

點擊查看自定義錯誤處理器測試

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

PHP基本語法的介紹

PHP的環境搭建 的方法

以上就是PHP文件加載和錯誤處理的介紹的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情视频网站| 欧美精品在线免费| 国产精品久久久久久搜索| 色妞一区二区三区| 久久精品色欧美aⅴ一区二区| 最近日韩中文字幕中文| 日韩在线视频观看| 欧美xxxx18国产| 亚洲美女视频网| 日韩欧美福利视频| 精品久久久久久中文字幕| 亚洲免费成人av电影| 精品久久久一区| 国产成人在线一区二区| 中文字幕av一区| 国产精品一区二区三区久久| 国产精品高清免费在线观看| 精品一区二区三区四区在线| 国产成人av在线| 成人乱人伦精品视频在线观看| 日韩美女av在线免费观看| 曰本色欧美视频在线| 久久影视电视剧免费网站清宫辞电视| 欧美在线国产精品| 亚洲视频在线播放| 国产精品99久久久久久白浆小说| 国产精品视频网址| 亚洲精品久久久一区二区三区| 91精品久久久久久久久青青| 红桃视频成人在线观看| 日韩av黄色在线观看| 成人国产精品日本在线| 亚洲国产成人精品女人久久久| 亚洲xxx视频| 亚洲曰本av电影| 亚洲精品国产suv| 日韩av在线导航| 亚洲一区二区三区香蕉| 日韩欧美精品网址| 欧洲中文字幕国产精品| 91在线观看免费高清| 亚洲人成电影网站色xx| 亲爱的老师9免费观看全集电视剧| 日韩精品在线免费观看| 亚洲视频欧洲视频| 精品视频—区二区三区免费| 国产精品第三页| 久久偷看各类女兵18女厕嘘嘘| 97涩涩爰在线观看亚洲| 亚洲天堂免费视频| 精品在线观看国产| 最近中文字幕2019免费| 久久久久久久一区二区| 亚洲欧美国产制服动漫| 性欧美办公室18xxxxhd| 国产精品免费久久久| 欧美精品成人91久久久久久久| 国产精品羞羞答答| 国产精品视频导航| 久久久久久国产精品| 久久黄色av网站| 亚洲欧美另类在线观看| 亚洲品质视频自拍网| 久久亚洲精品小早川怜子66| 亚洲精品美女在线观看播放| 日韩欧美在线免费观看| 奇米四色中文综合久久| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲天堂精品在线| 亚洲精品欧美极品| 一区二区成人精品| 国产女人精品视频| 国产成人福利夜色影视| 91精品国产免费久久久久久| 欧美日韩亚洲视频| 久久久久久国产| 中文字幕欧美精品日韩中文字幕| 琪琪亚洲精品午夜在线| 国产精品福利无圣光在线一区| 欧美夫妻性视频| 日韩中文字幕av| 韩国视频理论视频久久| 亚洲男人天堂九九视频| 国产精品自产拍在线观看中文| 日韩在线观看av| 日韩在线一区二区三区免费视频| 国产精品亚洲视频在线观看| 中文字幕日韩综合av| 欧美丰满片xxx777| 91po在线观看91精品国产性色| 91精品国产综合久久香蕉最新版| 97精品国产97久久久久久春色| 亚洲人成网站777色婷婷| 国产精品狠色婷| 国产精品7m视频| 亚洲欧美制服另类日韩| 久久久久久久久久国产| www.国产一区| 欧美成人免费在线观看| 欧美成人精品不卡视频在线观看| 欧美日韩亚洲精品一区二区三区| 精品综合久久久久久97| 日韩美女在线观看一区| 亚洲字幕在线观看| 91av免费观看91av精品在线| 国产伦精品一区二区三区精品视频| 国产成人精品av| 国产精品久久久久久久天堂| 亚洲乱码国产乱码精品精| 久久精品国产亚洲一区二区| 国产九九精品视频| 在线视频欧美性高潮| 亚洲毛片一区二区| 大胆欧美人体视频| 日韩在线观看精品| 最近更新的2019中文字幕| 精品久久久在线观看| 亚洲日本中文字幕免费在线不卡| 黑人欧美xxxx| 亚洲少妇激情视频| 日本精品久久久久久久| 日韩av免费在线看| 日本免费一区二区三区视频观看| 日本免费久久高清视频| 一区二区三区 在线观看视| 国产精品日韩久久久久| 欧亚精品中文字幕| 国内外成人免费激情在线视频网站| 国产精品嫩草影院久久久| 日韩视频永久免费观看| 日韩不卡中文字幕| 黄色一区二区在线观看| 久久精品亚洲94久久精品| 日韩精品中文在线观看| 亚洲va欧美va国产综合剧情| 中国人与牲禽动交精品| 国产v综合v亚洲欧美久久| 亚洲一区二区三区视频| 中文字幕亚洲天堂| 国产91九色视频| 91精品国产综合久久久久久久久| 国产精品久久久久久久久久久久| 亚洲专区中文字幕| 久久精品国产亚洲精品| 中文精品99久久国产香蕉| 欧美日韩国产一区在线| 一本一道久久a久久精品逆3p| 亚洲欧美中文日韩v在线观看| 91在线高清视频| 成人黄色片网站| 久久久av电影| 久久久久久久久久久国产| 日韩一级裸体免费视频| 国产精品久久久精品| 日本精品久久中文字幕佐佐木| 国内精品美女av在线播放| 国产视频亚洲精品| 国产91九色视频| 欧美日本高清一区| 色先锋久久影院av| 亚洲毛片在线免费观看| 国产精品91视频| 在线观看91久久久久久| 日韩久久免费视频|