笔记5-文件加载与错误处理.

上传人:今*** 文档编号:105849152 上传时间:2019-10-13 格式:DOC 页数:16 大小:572.54KB
返回 下载 相关 举报
笔记5-文件加载与错误处理._第1页
第1页 / 共16页
笔记5-文件加载与错误处理._第2页
第2页 / 共16页
笔记5-文件加载与错误处理._第3页
第3页 / 共16页
笔记5-文件加载与错误处理._第4页
第4页 / 共16页
笔记5-文件加载与错误处理._第5页
第5页 / 共16页
点击查看更多>>
资源描述

《笔记5-文件加载与错误处理.》由会员分享,可在线阅读,更多相关《笔记5-文件加载与错误处理.(16页珍藏版)》请在金锄头文库上搜索。

1、昨日回顾2文件加载3综述:3文件路径问题31, 相对路径:32,绝对路径:43,只有文件名(无路径)4文件载入执行过程5几个区别:6return关键字7错误处理8错误的分类8错误的分级9系统错误:9用户自定义错误10其他:10错误的触发10正常触发:10人工触发11错误的显示控制11记录错误日志12自定义错误处理14昨日回顾位运算:基本位运算规则:按位与:1&1=1, 1&0=0; 0&1=0; 0&0=0按位或:1|1=1, 1|0=1; 0|1=1; 0|0=0按位非:1=0, 0=1按位异或:11=0, 10=1; 0&1=1; 00=0对常规整数的按位运算:按位与:按位或,按位左移,按

2、位右移,按位非:按位异或:$v1 = 9;/00001001$v2 = 19;/00010011 00011010这是24 + 23 + 21 = 16+8 + 2 = 26原码就是将一个数字通过数学方法转换得到的二进制形式。并规定:第一个位为符号位,0表示正数,1表示负数。但是,在cpu内部,计算都是以补码的形式进行。反码:正数的反码:是其本身;负数的反码:符号位不变,其余每一位取反。补码:正数的补码:是其本身;负数的补码:符号位不变,反码加1。管理一组事物的开关状态:有多个数据,其都只有2个状态(真,假,true,false.),并且可以将他们确定位置(顺序) 那么,我们就可以用一个数字(

3、整数)就可以实现着多个数据的“统一管理”首先,设定多个基础数据,通常用常量:D1 = 1;D2 = 2; D3=4;D4 = 8;D5 = 16;. 则:变量$state = 17;/一个随便的数字,就可以代表着多个数据的任意可能的组合。常见需求就有3个:1,确定某个数据的当前值(状态):if( $state & Dn 0)为真else为假;n代表任意某个数据2,设定某个数据为真:$state = $state | Dn;/n为1,2,3,。之一。3,设定某个数据为假:$state = $state & Dn;/n为1,2,3,。之一。循环:3要素:循环变量初始化;循环变量的条件判断;循环变量

4、值的改变;2中断:break $n;/完全终止(退出)指定的第n层循环,continue $n;/停止正在执行的指定的第n层循环,并从循环的起始位置“从新开始”。文件加载综述:有4个文件加载的语法形式(注意,不是函数):include, include_once, require, require_once;他们的本质是一样的,都是用于加载/引入/包含/载入一个外部文件到当前php代码中来。他们只在2个方面有细微区别:1,如果加载文件失败,则有不同的处理规则;include和require不同2,如果加载文件重复,则有不同的处理规则;XXX和XXX_once不同;3,他们都是语法结构,而非函数

5、,使用形式可以有两种:3.1 include 文件路径;3.2 include (文件路径);文件路径问题不管是哪个载入语法结构,都涉及到文件路径问题。主要有3种情况:1, 相对路径:就是以“./”, 或“./”,开头的路径。./表示当前网页文件的所在位置(文件夹,目录);./表示当前网页文件的所在位置的上一级位置(文件夹,目录)这种相对位置对一个网站中的所有内容(包括php,html,图片,css,js文件)都有效。2,绝对路径:有2种绝对路径:本地绝对路径:window系统:c:/d1/d2/page3.phpunix系列系统:/d1/d2/page3.php网络绝对路径:http:/ 从

6、include语句处退出php脚本模式(进入html代码模式) 载入include语句所设定的文件中的代码,并执行之(如同在当前文件中一样) 退出html模式重新进入php脚本模式,继续之后的代码举例:4include_yuanli.php中:page3.php中:4include_yuanli.php中的代码,相当于:几个区别: include_once 和include的区别:前者能够保证不会被重复加载 require 和 include的区别:o 如果被包含文件不,存在,即引用失败(出错)时,include发出警告并继续执行后续代码,require直接终止。 require_once 和

7、 require的区别:前者能够保证不会被重复加载return关键字以前,我们只在函数中出现return关键字,其作用是:结束函数,并可以返回数据;return;/单纯结束; return $x;/结束,并返回数据$x;那么,被包含(载入)的文件中的return 关键字也具有同样的作用!结果:再来看看return返回值的形式:结果为:错误处理错误的分类语法错误:程序没法运行,直接提示语法错误。运行时错误:只有程序运行到某行,或在某些特定的情形下运行才会发生的错误。逻辑错误:程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的。我们程序员主要面对的和要处理(应付)的错误,就是运

8、行时错误。错误的分级在php中,将各种错误,分门别类,依据不同的严重程度和产生的来源(机制),将各种错误分为大约10几个级别。每个级别的错误,都对应一个内部的名称系统常量!系统错误:E_ERROR:系统严重错误一发生,程序立即停止执行。该错误一般希望马上。E_WARNING:系统警告一发生,提示错误,并继续执行。通常该错误希望能够在“下一工作日”去处理掉(解决)。E_PARSE:语法错误一发生,提示错误,而且代码完全不会运行在运行之前先检查语法。E_NOTICE:系统提示一发生,提示错误,并继续执行。发个邮件通知一下,自己安排时间有空去解决。他们的本质是什么呢?可见他们只是一个系统内部常量(整

9、数常量);实际上,这些常量(代号)是供我们对对该类错误进行“控制”的标示符而已。用户自定义错误只有3个:E_USER_ERROR;E_USER_WARNING;E_USER_NOTICE;我们可以在程序中,自己创建(生成)错误是为了针对某些数据的不合理情形,而创建的错误。比如:让用户填写年龄, 填18是ok,但填写188就是不合理从数字角度本身是没有问题。其他:E_ALL;代表所有错误表示它可以“包括”错误。E_STRICT: 代表“严格性”语法检查错误某种语法是可以执行的,但在当前的php版本中是不欢迎使用。错误的触发正常触发:程序运行时确实发生了运行时错误也可能是语法检查错误。3种常见的运

10、行时错误:人工触发就是由程序员通过程序代码而“产生”一个错误。语法:trigger_error(“错误提示” , 用户错误代号);应用中,通常是需要检测(判断)数据的有效性,以决定是否触发相应错误,比如:错误的显示控制网页中显示(提示)错误信息,是可以进行控制的,有种途径:,在文件中设定,对所有程序都有效;,在当前脚本文件中,只对当前脚步文件有效。错误的显示有个方面可以进行控制;,设定是否显示:display_error: php.ini中;display_error = On;/表示显示, Off表示不显示;(显示)(不显示)脚本中: ini_set(“display_error”, 1);

11、 /1表示显示, 0表示不显示,也可以用true,false脚本中的设定优先级高。,设定显示哪些级别的错误依赖与第一项设定为显示的情况。文件中:error_reporting = E_NOTICE;/只显示E_NOTICE错误error_reporting = E_NOTICE | E_WARNING;/显示E_NOTICE和E_WARNING错误error_reporting = E_NOTICE | E_WARNING | E_USER_ERROR;/显示E_NOTICE和E_WARNING和E_USER_ERROR错误解释上一行:E_NOTICE:00000000 00001000E_W

12、ARNING: 00000000 00000010E_USER_ERROR:00000001 00000000或运算(|)00000001 00001010实际上,在开发阶段,常用的是:error_reporting = E_ALL | E_STRICT;它是这样的结果:E_ALL01110111 11111111E_STRICT: 00001000 00000000或运算(|)01111111 11111111可见,E_ALL并非真的表示“所有”,而是只有E_ALL | E_STRICT才真的表示所有。继续:如果在显示“所有”错误的基础上,只想“关闭”个别少数错误呢?跟状态数据的设定(关闭)道理一样,只要这么做:error_reporting = E_ALL | E_STRICT & E_NOTICE;/只关闭了E_NOTICE错误提示error_reporting = E_ALL | E_STRICT & E_NOTICE & E_WARNING;/关闭了2个在代码中设定:ini_set(“error_reporting”, E_NOTICE);/只显示E_NOTICE错误ini_set(“error_reporting”, E_NOTICE | E_WARNING);/显示E_NOTICE和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号