为了加深对PHP错误处理的理解,下面有个小练习大家可以自行动手做做:
题目:
自定义一个错误处理函数,当打开一个文件不存在时,自动调用该函数,并记录到D:/mylog.ext文件中 要求记录错误号,错误信息和错误时间。
<?php /* 自定义一个错误处理函数,当打开一个文件不存在时,自动调用该函数, 并记录到D:/mylog.ext文件中 要求记录错误号,错误信息和错误时间 */ //$fp=fopen("a.tex","r"); //由于我们希望我们的自定义函数来处理所有错误,所以使用set_error_handler(),并指定处理什么错误级别的方法 set_error_handler("my_error",E_USER_WARNING); //设置中国的时区 date_default_timezone_set('PRC'); //自定义一个错误处理函数 function my_error($errno,$errmes){ //从这里写入到文件中 //echo "错误号是:".$errno." ".$errmes; $message="错误号是: ".$errno.$errmes; //使用error_log函数来记录错误日志 //echo date("Y-m-d G:i:s")."-----".$message; error_log(date("Y-m-d G:i:s")."-----".$message."\r\n",3,"mylog.txt"); } if(!file_exists("a.txt")){ //这里要调用错误触发器,指定错误级别 trigger_error("文件不存在",E_USER_WARNING); }else{ //进行对文件操作 } ?>