air_bobi | Code :
- function connection($ip, $os, $mdp_or_login, $mdp,$port) { // Appelle les fonctions de connection et insrcits les erreurs dans un log.
- switch ($port) {
- case 22:
- $err = connection_ssh($ip, $os, $mdp_or_login, $mdp);
- break;
- case 23:
- $err = connection_telnet($ip, $os, $mdp_or_login, $mdp);
- break;
- default :
- $err = -1;
- break;
- }
- $log = fopen('log_equipement.txt','a+');
- fwrite($log,$ip.":".$port.PHP_EOL);
- fclose($log);
- if (is_array($err)) return ($err);
- else {
- $log = fopen('log.txt','a+');
- $deb_log = date('[d-m-Y H:i:s] ')."[".$ip.":".$port."] ";
- switch ($err) {
- case -1:
- fwrite($log, $deb_log."Connexion échouée".PHP_EOL);
- break;
- case -2:
- fwrite($log, $deb_log."Authentification échouée".PHP_EOL);
- break;
- case -3:
- fwrite ($log, $deb_log."Commande échouée".PHP_EOL);
- break;
- }
- fclose ($log);
- return (FALSE);
- }
- }
|
Code :
- function connection_ssh($ip, $os, $login, $mdp) {
- if ($connection =@ssh2_connect($ip,22)) {
- if (@ssh2_auth_password($connection, $login,$mdp)){
- if ($stream =@ssh2_exec($connection, commande_os($os))) {
- stream_set_blocking($stream,true);
- return (explode(PHP_EOL,stream_get_contents($stream)));
- }else return (-3);
- }else return (-2);
- } else return (-1);
- }
|
Et j'en ai une dizaine de fonctions comme ça qui traitent des tableaux.
je ne peux pas lancer d'exception parce que même si il y a une erreur, il ne faut pas que le script s'arrête mais j'ai quand même besoin de savoir si il y a eu une erreur. Sinon tout marche actuellement mais je me posais juste la question suite à la remarque de olivthill
Citation :
Enfn, une fonction, en PHP ou C, ou dans les autres langages, ne doit pas retourner un tableau, c'est une erreur de débutant et une erreur qui est parfois encouragée par des profs ignorants
|
|