您的位置:首页 > 编程语言 > PHP开发

php有关error的处理

2014-03-17 07:53 363 查看
下面的这些代码是我练习时候写的,如果想运行就要删除注释的代码行,或者一段一段的执行。

根据w3c整理:http://www.w3school.com.cn/php/php_error.asp

关于发生邮件的配置文件的处理可以参考:http://blog.csdn.net/majianjie/article/details/21325287

<?php
/*
if(!file_exists("Files/Test.txt")) //打开文件
{
die("没有这个文件"); //如果文件不存在就输出
}
else
{//存在就读取出来
$file=fopen("Files/Test.txt","r");
$filesize=filesize("Files/Test.txt");
echo fread($file, $filesize);
fclose($file);
}

*/

/**
* error_function 必需。规定发生错误时运行的函数。
*error_types 可选。规定在哪个错误报告级别会显示用户定义的错误。默认是 "E_ALL"。
*
*set_error_handler设置当发生错误时候调用哪个函数
*/
/*
function coustumerError($errno, $errstr) {
echo "<b>错误 :</b> [$errno] $errstr";
}

set_error_handler("coustumerError");//发生错误时候调用coustumerError这个函数

echo $test; //输出一个不存在的变量

*/

//trigger_error用于在用户指定的条件下触发一个错误消息。它与内建的错误处理器一同使用
//也可以与由 set_error_handler() 函数创建的用户自定义函数使用。
//trigger_error(error_message,error_types)
/**
* error_types 可选。规定错误消息的错误类型。 可能的值:
*E_USER_ERROR
*E_USER_WARNING
*E_USER_NOTICE
*/
/*
$var=2;
if($var>1){
trigger_error("变量比1大就不行",E_USER_WARNING);//当输入不符合条件时候就 “触发” 这个!!
}

*/

/**
* 如果 "test" 变量大于 "1",则发生 E_USER_WARNING 错误。如果发生了 E_USER_WARNING,
* 我们将使用我们的自定义错误处理程序并结束脚本:
*/

date_default_timezone_set('Asia/Shanghai');

function ErrorDeal($errno,$errstr) {
echo "<b>错误</b> [$errno]:$errstr";
echo "<br>"."已生成日志并邮件,结束脚本:";
//如果发生错误就生成日志并发送邮件
error_log("错误: [$errno] $errstr",1,"592357262@qq.com","来自: 15227201666@163.com");
error_log("错误 [$errno]:$errstr"." ".date("Y-m-d H:i:s")."\r\n",3,'Files/ErrorLog.log');
die();
}

set_error_handler("ErrorDeal",E_USER_WARNING);

$no=6;
if($no>2){
trigger_error("数值必须比2小",E_USER_WARNING);
}else{
echo "没错!";
}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息