文件加载

有4个文件加载的语法形式(注意,不是函数):

include,  include_once,  require, require_once;

他们的本质是一样的,都是用于加载/引入/包含/载入一个外部文件到当前php代码中来。

他们只在2个方面有细微区别:

1,如果加载文件失败,则有不同的处理规则;include和require不同

2,如果加载文件重复,则有不同的处理规则;XXX和XXX_once不同;

3,他们都是语法结构,而非函数,使用形式可以有两种:

3.1  include  ‘文件路径’;

3.2  include (‘文件路径’);

include_once 和include的区别:前者能够保证不会被重复加载

require 和 include的区别:

如果被包含文件不存在,即引用失败(出错)时,include发出警告并继续执行后续代码,require直接终止。

错误处理

语法错误:

程序没法运行,直接提示语法错误。

运行时错误:

只有程序运行到某行,或在某些特定的情形下运行才会发生的错误。

逻辑错误:

程序从头到尾运行都没有发生(并提示)错误,但程序运行计算的结果是错误的。

系统错误:

E_ERROR:系统严重错误

一发生,程序立即停止执行。

E_WARNING:系统警告

一发生,提示错误,并继续执行。

E_PARSE:语法错误

一发生,提示错误,而且代码完全不会运行——在运行之前先检查语法。

E_NOTICE:系统提示

一发生,提示错误,并继续执行。

用户自定义错误

只有3个:

E_USER_ERROR;

E_USER_WARNING;

E_USER_NOTICE;

就是由程序员通过程序代码而“产生”一个错误。

语法:

trigger_error(“错误提示” , 用户错误代号);

错误的显示控制

网页中显示(提示)错误信息,是可以进行控制的,有2种途径:

1,在php.ini文件中设定,对所有php程序都有效;

2,在当前脚本文件中,只对当前脚步文件有效。

错误的显示有2个方面可以进行控制;

1,设定是否显示:display_error:

php.ini中;display_error = On; //表示显示, Off表示不显示;

脚本中:  ini_set(“display_error”,  1);  //1表示显示, 0表示不显示,也可以用true,false

脚本中的设定优先级高。

2,设定显示哪些级别的错误——依赖与第一项设定为显示的情况。

php.ini文件中:

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错误

在代码中设定:

ini_set(“error_reporting”,  E_NOTICE); //只显示E_NOTICE错误

ini_set(“error_reporting”,  E_NOTICE | E_WARNING); 显示E_NOTICE和E_WARNING错误

ini_set(“error_reporting”,  E_ALL | E_STRICT & ~E_NOTICE); //只关闭E_NOTICE错误

ini_set()含义可以设定几乎所有php.ini中的设定项,形式如下:

ini_set(“设定项名称” ,值); //这种设定都只对当前脚本有效,而且无需重启apache,很方便。

另一个对应函数是:ini_get(“设定项名称”);//用于获取某项的值。

记录错误日志

在开发阶段,我们通常都是显示所有错误——意图解决错误

在产品阶段,我们通常都是隐藏所有错误——并同时将错误信息记录到文件中——错误日志文件。

我们可以自己查看错误日志以解决开发阶段没有发现的错误问题。

记录错误日志同样有2种途径:

1,在Php.ini文件中设定:

log_errors = On; //用于设定是否记录错误日志,On记录,Off不记录

error_log = “错误日志文件名”; //设定错误日志的文件名

此时,该文件没有给定路径,则系统会在每个文件夹下建立该文件并记录进去。

error_log还有一个特殊值可以使用:

error_log = syslog; //此时不会记录错误日志文件,而是把错误信息写入到系统错误日志中

转载于:https://www.cnblogs.com/yongjiapei/p/8359602.html

php基础语法(文件加载和错误)相关推荐

  1. GAMIT模型文件加载时错误链接解决方案

    以海洋潮文件为例 察看otl.grid属性,可知其链接的是同目录下的otl_FES2004.grid,其也是一个链接. 继续察看otl_FES2004.grid文件的属性 注意看起link targe ...

  2. PHP基础3--文件加载-错误处理

    主要: 1-文件加载 2-错误处理 文件加载 文件加载语句 1) 4个文件加载语句:include,  require,   include_once,    require_once 2) 使用形式 ...

  3. PHP基础知识之文件加载

    控制脚本执行顺序 die(字符串)/exit(字符串): 输出该字符串后,立即停止PHP的执行!即后续代码不再执行. sleep($n) 程序停止运行指定的秒数.然后等待过了那个时间后,就继续执行.( ...

  4. java class文件 代码_java_基础——用代码编译.java文件+加载class文件

    java_基础--用代码编译.java文件+加载class文件 java_基础--用代码编译.java文件+加载class文件 [简单编译的流程] package com.zjm.www.test; ...

  5. python调用sqlldr_加载非常大的日志文件时出现Oracle SQL加载程序错误

    我有一个python脚本,它遍历目录中的日志文件,并使用oraclesqlloader将日志文件加载到oracle数据库中.脚本正常工作,甚至sqlloader..在 但是在加载了大约20万条记录后, ...

  6. Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法

    Linux系统安装驱动过程中ko文件加载错误(Required key not available)的解决办法 问题描述 在Ubuntu上使用CP210x USB转UART设备时需要安装驱动程序(CP ...

  7. 用 C 语言开发一门编程语言 — 字符串与文件加载

    目录 文章目录 目录 前文列表 字符串 读取字符串 注释 文件加载函数 命令行参数 打印函数 报错函数 源代码 前文列表 <用 C 语言开发一门编程语言 - 交互式解析器> <用 C ...

  8. vue项目结构及启动文件加载过程分析

    vue项目结构及启动文件加载过程分析 一.vue项目结构 1.导入项目 准备好开发工具Visual Studio Code,导入生成的项目案例.我的Vue版本: 2.项目目录及文件说明 2.1.项目主 ...

  9. powerdesigner错误提示实体属性名称唯一性_WPS导致加载DLL错误的解决方案

    [Access与WPS并存引起的问题]作为事件属性设置而输入的表达式"加载"产生了如下错误:加载DLL错误的解决方法. 一.问题描述: 用Access开发的一个程序,一共四台电脑使 ...

最新文章

  1. NVIDIA GPU的快速傅立叶变换
  2. 发布一个定制的webpart:R***eader
  3. jquery源码 DOM加载
  4. JQuery-Table斑马线
  5. 通过自动化机器学习对抗Java恶意软件
  6. 关于CRM one order函数的一些代码审查和改进建议
  7. Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化
  8. ubuntun系统mysql数据库同步_Canal 实现 Mysql数据库实时数据同步
  9. 结构类型需要重载GetHashCode和Equals
  10. UE4 异步资源加载
  11. 【Java数据结构与算法】第十四章 红黑树
  12. 【数据格式】Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据
  13. sublime text3怎么运行python代码_sublime text3 怎么配置、运行python
  14. 论文中三线式表格的快速插入(word)
  15. Hadoop数据开发笔试题(一)
  16. linux 配置 NTP 服务器
  17. UFS开发板代码分析
  18. LWN:Linux audio plugin APIs综述!
  19. puber們這一季的愛情啊
  20. Google的60款开源项目

热门文章

  1. 【CyberSecurityLearning 28】批处理与简单病毒
  2. 汇编语言运算符优先级
  3. 日常生活 -- 面试思考
  4. Hi3516A开发-- 板卡串口烧写
  5. 用python从0开始创建一个区块链,从代码深入理解区块链
  6. EOS从入门到精通-设计背景与DPOS算法(文字稿)
  7. 根据”so劫持”过360加固详细分析
  8. Statistical language model 统计语言模型
  9. FileProvider 在 Android N 上的应用
  10. Sparkmllib scala逻辑回归