Dobra, mam takie coś:
<?php
function my_error_handler($errno, $errstr, $errfile, $errline){
$errno = $errno & error_reporting();
if($errno == 0) return;
if(!defined('E_STRICT')) define('E_STRICT', 2048);
if(!defined('E_RECOVERABLE_ERROR')) define('E_RECOVERABLE_ERROR', 4096);
switch($errno){
case E_ERROR: $print= $print."Error"; break;
case E_WARNING: $print= $print."Warning"; break;
case E_PARSE: $print= $print."Parse Error"; break;
case E_NOTICE: $print= $print."Notice"; break;
case E_CORE_ERROR: $print= $print."Core Error"; break;
case E_CORE_WARNING: $print= $print."Core Warning"; break;
case E_COMPILE_ERROR: $print= $print."Compile Error"; break;
case E_COMPILE_WARNING: $print= $print."Compile Warning"; break;
case E_USER_ERROR: $print= $print."User Error"; break;
case E_USER_WARNING: $print= $print."User Warning"; break;
case E_USER_NOTICE: $print= $print."User Notice"; break;
case E_STRICT: $print= $print."Strict Notice"; break;
case E_RECOVERABLE_ERROR: $print= $print."Recoverable Error"; break;
default: $print= $print."Unknown error ($errno)"; break;
}
$print= $print. ":$errstr in $errfile on line $errline\n";
$log_file='./res/log.txt';
$fd = fopen($log_file, 'a');
if($fd)
{
fwrite($fd, date('Y-m-d H:i:s').$print);
fclose($fd);
}
if(function_exists('debug_backtrace')){
$backtrace = debug_backtrace();
array_shift($backtrace);
foreach($backtrace as $i=>$l){
print "[$i] in function <b>{$l['class']}{$l['type']}{$l['function']}</b>";
if($l['file']) print " in <b>{$l['file']}</b>";
if($l['line']) print " on line <b>{$l['line']}</b>";
print "\n";
}
}
if(isset($GLOBALS['error_fatal'])){
if($GLOBALS['error_fatal'] & $errno) die('fatal');
}
}
function error_fatal($mask = NULL){
if(!is_null($mask)){
$GLOBALS['error_fatal'] = $mask;
}else if(!isset($GLOBALS['die_on'])){
$GLOBALS['error_fatal'] = 0;
}
return $GLOBALS['error_fatal'];
}
zaincludowane do pliku, oraz w pliku głównym
error_reporting(E_ALL);
set_error_handler('my_error_handler');
error_fatal(E_ALL^E_NOTICE);
I dodaje mi do pliku, lecz nadal wyświetla na ekranie. Jak usunąć to z ekranu, ale żeby nadal dodawało do pliku??