学习PHP笔记2

这篇博客详细介绍了PHP中文件的包含方式,如require和include,以及它们的区别。还讨论了PHP的错误处理机制,包括错误级别、提示方法和自定义错误处理。此外,文章涵盖了PHP的文件操作,如创建、删除、读取和写入文件,以及表单数据的GET和POST提交方式和文件上传的处理方法。
摘要由CSDN通过智能技术生成

🌈学习PHP笔记(二)

## 📑包含文件

包含文件的方式(可多次包含)

require
<?php
require '文件目录';
?>
include
<?php
include '文件目录';
?>

包含文件的方式(一次包含)

require_once:
include_once:

区别:

1、require:遇到错误抛出error类别的错误,停止执行
2、include:遇到错误抛出warning类型的错误,继续执行
3、require_once:、include_once:只能包含一次
4、HTML类型的包含页面中存在PHP代码,如果包含到PHP中是可以被执行的
5、包含文件相当于把包含文件中的代码拷贝到主文件中执行,魔术常量除外,魔术常量获取的是所在文件的信息。
6、被包含的文件在主文件被编译时不执行、运行时加载到内存、独立编译包含文件

包含文件的路径

./		当前目录
../		上一级目录

这个是没有指定目录直接写文件名,PHP的寻找机制,这些显示寻找顺序从左往右的目录依次查找。

使用来进行包含文件的目录,可以设置多个,路径之间用分豪隔开。

<?php
set_include_path('目录1;目录2;目录3');
?>

关于正反斜杠

正斜(/):web中目录分隔用正斜:https://erhe.group/
反斜(\):物理地址的分隔用反斜,( windows中物理地址正斜和反斜都可以):c:\web\test\

❌PHP错误处理

错误的级别

1、notice:提示
2、warning:警告
3、error:致命错误
notice和warning报错后继续执行,error报错后停止执行

错误的提示方法

方法一:直接显示在浏览器上
方法二:记录在日志中

错误处理的有关配置

在PHP的配置文件中有一个php.ini配置文件

1、error_reporting = E_ALL		// 报告所有的错误
2、display_errors = On			// 将错误显示在浏览器上
3、log_errors = On			// 将错误记录在日志中
4、error_log = '文件路径'		// 错误日志保存的位置

在项目开发中有两个模式:

开发模式:错误显示在浏览器上,不要记录在日志中
运行模式:错误不显示在浏览器上,记录是日志中

<?php
$debug=false;       // 开发模式
ini_set('error_reporting',E_ALL);   // 所有的错误有报告
if($debug){
   
    ini_set('display_errors','on');     // 错误显示是在浏览器上面
    ini_set('log_errors','off');        // 错误不显示在日志中
}else{
   
    ini_set('log_errors','off');
    ini_set('log_errors','on');
    ini_set('error_log','文件路径');    // 错误日志保存的位置
}
?>

PS:ini_set()是用来设置PHP的配置参数。

自定义错误处理

通过trigger_error('')产生一个用户级别的error/warning/notice信息

<?php
$age=100;
if($age>80){
   
    trigger_error('年龄不能超过80岁');      //默认触发了notice级别的错误
    trigger_error('年龄不能超过80岁',E_USER_NOTICE);       // 触发了notice级别的错误
    trigger_error('年龄不能超过80岁',E_USER_WARNING);       // 触发了warning级别的错误
    trigger_error('年龄不能超过80岁',E_USER_ERROR);       // 触发了error级别的错误
}
?>

⭕注意:用户级别的错误的常量名中一定要带有USER

自定义错误处理函数

<?php
function error(){
   
    echo '这是自定义错误处理';
}
set_error_handler('error');     // 注册处理函数,只要有错误就会自动的调用处理函数
?>

还可以带上参数

@param $errno int 错误类别
@param $errstr string 错误信息
@param $errfile string 文件地址
@param $errline int 错误行号
<?php
function error($errno,$errstr,$errfile,$errline){
   
    switch($errno){
   
        case E_NOTICE:
        case E_USER_NOTICE:
            echo '记录在日志中,管理员上班后处理<br>';
            break
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开摆工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值