Autor Zpráva
$_empty
Profil *
Nejak jsem se dostal k teto fci na potlaceni chyb.

Z manualu PHP


// set the error reporting level for this script
error_reporting(E_ALL);

// error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline)
{
switch ($errno) {
case FATAL:
echo "<b>FATAL</b> [$errno] $errstr<br />\n";
echo " Fatal error in line $errline of file $errfile";
echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
echo "Aborting...<br />\n";
exit(1);
break;
case ERROR:
echo "<b>ERROR</b> [$errno] $errstr<br />\n";
break;
case WARNING:
echo "<b>WARNING</b> [$errno] $errstr<br />\n";
break;
default:
echo "Unkown error type: [$errno] $errstr<br />\n";
break;
}
}



// set to the user defined error handler
$old_error_handler = set_error_handler("myErrorHandler");



a tady je pouziti


1/ @require("prase");
2/@include("prase");


tak v prvnim pripade se vypise

Unkown error type: [2] main(prase): failed to open stream: No such file or directory


a v druhem coz je horsi



Unkown error type: [2] main(prase): failed to open stream: No such file or directory
Unkown error type: [2] main(): Failed opening 'prase' for inclusion (include_path='.;c:\apache\php\pear')


Proc se to vypisuje takto 2x ?
Hugo
Profil
Podívej se sem
http://mirrors.inway.cz/manual/en/ref.errorfunc.php#errorfunc.constant s
xixli
Profil
Keď máš @ pred funkciou, ktorá vyvolá nejakú chybu, aj tak je podaná chyba ďalej pre error_handler.
Vypisuje sa to 2x pre require vždy, aj keď nenastavíš error_handler. A prečo? No lebo je to tak v PHP... Je to trochu nepríjemné, ale dá sa s tým vysporiadať.
$empty
Profil *
no imho bude lepsi toto:



<?php
function sinclude($file){
echo (@include($file) ? "" : "Chyba pri vkladani souboru";
}

sinclude("file.php"); # bud se vlozi ci se vypisa chyba nase!
?>
$empty
Profil *
nebo jeste lepe

<?php
function sinclude($file, $type=1){

switch ($type){
case 1:
echo (@include($file) ? "" : "Chyba pri vkladani souboru";
break;

case 2:
echo (@require($file) ? "" : "Chyba pri vkladani souboru";
break;

case 3:
echo (@include_once($file) ? "" : "Chyba pri vkladani souboru";
break;

case 4:
echo (@require_once($file) ? "" : "Chyba pri vkladani souboru";
break;
}

sinclude("file.php"); # bud se vlozi ci se vypisa chyba nase!
?>
$empty
Profil *
a jeste mi tam chybi } sakra, du si radsi lehnout
Toto téma je uzamčeno. Odpověď nelze zaslat.

0