J'ai un script qui traite un fichier .txt, mon problém c k si le fichier ne contient pas les information attendu dans le script il me sort des message d'erreur:
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65
Notice: Undefined offset: 1 in c:\users\el_diablo\desktop\watcher\parse.php on line
65
Le script ne bug pas et continue son execution (ca c'est bien) mais se qui me dérange c'est les message d'erreur!! voila la parti qui nous interresse du script :
list ($tiempo, $transcurrido, $equipo_remoto, $codigo_status, $bytes, $metodo, $url, $autenticacion, $peerstatus_peerhost, $tipo) = $registro;
if (strpos($url, '//') != false)
list ($proto, $aux, $dir, $dir_arg) = explode ('/', $url, 4);
else
list ($dir, $dir_arg) = explode ('/', $url, 4);
$dir_arg = addslashes ($dir_arg);
$dir_arg = substr ($dir_arg, 0, 1023);
list ($codigo, $status) = explode ('/', $codigo_status);
list ($peerstatus, $peerhost) = explode ('/', $peerstatus_peerhost);
list ($hora, $mili) = explode ('.', $tiempo);
$tiempo = date("y/m/d H:i:s", $hora).".$mili";
list ($tipo1, $tipo2) = explode ('/', $tipo);
Tout se que je veut c'est réaliser un test sur les list et explode pour que ca me sort plus ce genre de message!! un calcule de taux d'erreur aussi!
C'est moche ce que je vais te dire, mais ajoute des @ devant tes lignes où il peut y avoir des erreurs.
Sinon fait une recherche sur les gestion d'erreur : try { throw new Exception("test") ...
un code qui se fiche des erreurs s'il peut continuer son exécution malgré tout, cx'est gênant quand même.
Tu as cette erreur parce que tu n'as pas toujours autant de '/' que tu l'attends, donc comme list impose le nombre d'index retournés par explode(), il râle. Ca veut dire aussi que plus loin dans ton code, tu vas utiliser des variables qui n'existent pas.
Alors c'est sûr, le @ va virer les erreurs et tu seras sans doute content. Mais bon...tu ne seras guère plus avancé sur la gestion de ton code au final.
Le @ je le met ou? si c'est dans le fichier que je traite bin je pense que c'est pas la solution, puisque le fichier que je traite change réguliérement de contenu....! en faite je l'utilse comme buffer pour traiter d'otre fichier...! sinon ou, je voi pas?
OK, ca marche!!! Le @ resoue mon probléme!! mais j'ai chercher et j'ai pas trouvé sa vrais foncntionnalité, ca fait quoi exactement? ca élimine just les message d'erreur?
Mais une façon plus propre serait aussi de juste désactivé l'affichage des notice dans ton php.ini puisque ce ne sont pas des erreurs très graves. Ou encore tu peux modifié ton scripts pour geré les exceptions ou les évités
-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org