Advertisement
pipook

error Handler PHP

Jul 19th, 2012
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.77 KB | None | 0 0
  1. /*la funcion me la copie de internet, y si funciona, pero de esa parte solo me sirve ahora el CASE de E_NOTICE entonces en caso de que ocurra, pues por que ahora lo que me ocurre es que al cargar el archivo que es un csv y si este no tiene el formato requerido, como lo que viene son varias lineas, que salte a la siguiente y no termine de ejecutar esa, ahora mismo me ejecuta y me sale el error pero sige ejecutando las lineas siguientes a donde ocurrio el error y eso es lo que no quiero*/
  2. require_once('../../includes.php');
  3. require_once PATH_LLIB.DS.'d_base.php';
  4. require_once PATH_CLASS.DS.'conexion.php';
  5. $action = $_POST['action'];
  6. if($action == 'loadNotifies'){
  7.     set_error_handler("errorHandler");
  8.     $opcion = $_POST['opcion'];
  9.     $filename = $_FILES['cargue_notificacion']['tmp_name'];
  10.     $id_us=$_SESSION['id_us'];
  11.     $temp = file($filename);   
  12.     $n=count($temp);   
  13.     $c_ingresado = 0;
  14.     $c_rechazado = 0;
  15.     $conexion = new Conexion();
  16.     for ($i = 1; $i < $n; $i++){
  17.         $archivo = split(';',$temp[$i]);
  18.         $fpart = explode('/', $archivo[4]);
  19.         $f_not = trim($fpart[2]).'-'.trim($fpart[1]).'-'.trim($fpart[0]);
  20.         $sql0 = "SELECT * FROM base_notificaciones".
  21.             " WHERE documento = '".$archivo[1]."'".
  22.             " AND tipo = '".$opcion."'".
  23.             " AND fecha = '".$f_not."'";
  24.         $conexion->consultar($sql0);
  25.         $numb = $conexion->getNumeroRegistros();
  26.         if($numb >= 1){
  27.             $c_rechazado++;
  28.         }else{             
  29.                 $sql = "INSERT INTO base_notificaciones(tipodoc,documento,razonsocial,fecha,tipo)".
  30.             " VALUES('".$archivo[0]."','".$archivo[1]."','".str_replace('"','',$archivo[2])."','".$f_not."','".$opcion."')";
  31.             $conexion->ejecutar($sql);
  32.             $c_ingresado++;
  33.         }
  34.     }
  35.     $conexion->desconectar();
  36.  
  37. function errorHandler($errno,$errstr,$errfile,$errline){
  38.     switch ($errno)
  39.     {
  40.         case E_USER_ERROR: # 256
  41.            if($errstr=='SQL') #String for sql errors
  42.            {
  43.                 switch(SQL_ERRNO)
  44.                 {
  45.                     case '1045': # User or pass or server wrong
  46.                        echo "Error establishing a database connection";
  47.                     break;
  48.                     case '1040': #Too many connections
  49.                        echo 'Too many connections. Retry in a few seconds.<br>';
  50.                     break;
  51.                     case '1203': # more than 'max_user_connections' active connections
  52.                        echo 'Too many active connections. Retry in a few seconds.<br>';
  53.                     break;
  54.                     default: # Others mysql errors
  55.                        // handling an sql error
  56.                         echo "<b>SQL Error</b>[".SQL_ERRNO."] ".SQL_ERROR."<br />\n";
  57.                         echo "Query:".SQL_QUERY."<br />\n";
  58.                         echo "On line ".SQL_ERROR_LINE." in file ".SQL_ERROR_FILE." ";
  59.                         echo ", PHP ".PHP_VERSION." (".PHP_OS.")<br />\n";
  60.                         echo "Aborting...<br />\n";
  61.                     break;
  62.                 }
  63.             }
  64.             else #Others customize errors
  65.            {
  66.                 echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
  67.                 echo "  Fatal error on line $errline in file $errfile";
  68.                 echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
  69.                 echo "Aborting...<br />\n";
  70.             }
  71.             exit(1);
  72.             break;
  73.         case E_USER_WARNING:
  74.             echo "Error User Warning<br>\n";
  75.         break;
  76.         case E_USER_NOTICE:
  77.             echo "Error User Notice<br>\n";
  78.         break;
  79.         case E_NOTICE:
  80.             echo "Error User Notice 8<br>\n";
  81.         break;
  82.         default:
  83.             echo "Error Unknown [$errno]<br>\n";
  84.         break;
  85.     }
  86.     return true; # Don't execute PHP internal error handler
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement