par
fitnopk » 16 sept. 2016, 17:02
Bonjour,
Je commence tout juste à utiliser le PHP aujourd'hui et j'ai une erreur de type E_NOTICE qui ne cesse de revenir. Je sais qu'elle ne sont pas importantes mais ça m'ennuie de la voir à chaque exécution du script.
Code : Tout sélectionner
~/Téléchargements/php[0]$> php index.php
Spécifiez le chemin des fichiers source que vous souhaitez convertir en .csv, séparés par des ';' :
./acc
Récupération des données de acc en cours...
Traitement des données en cours (100.0%)...
PHP Notice: Undefined offset: 1 in /home/kpontif/Téléchargements/php/comptes.php on line 259
Notice: Undefined offset: 1 in /home/kpontif/Téléchargements/php/comptes.php on line 259
Conversion terminée. Souhaitez-vous convertir un ou plusieurs autre(s) fichier(s)? [O/N] : N
La ligne 259 correspond à mon premier for dans cette ébauche de code. Malgré le nombre de ligne, cette ébauche est la seule chose qui s’exécute puisque le reste n'est pas relié.
Code : Tout sélectionner
function traitementComptesContacts()
{
print "Spécifiez le chemin des fichiers source que vous souhaitez convertir en .csv, séparés par des ';' :\n";
$files = explode(";", trim(fgets(STDIN)));
for ($i=0; $files[$i]; $i++) {
$path = explode("/", $files[$i]);
$fileName = $path[sizeof($path) - 1];
if ($fileFd = @fopen($files[$i], 'r')) {
print "Récupération des données de " . $fileName . " en cours...\n";
/** Fonction de récupération des lignes retournant le nombre de ligne
$comptes_contacts = lireComptesContacts($files[$i]); **/
for ($k=1; $k<=438; $k++) { /* $k = n° de ligne */
usleep(100000); /* Simulation de l'éxecution */
print "\rTraitement des données en cours (" . number_format($k / 438 * 100, 1) . "%)...";
/* Fonction de traitement des données */
}
print "\n";
fclose($fileFd);
}
else
print "Le fichier '" . $fileName . "' indiqué par le chemin '" . $files[$i] . "' n'a pas pu être trouvé ou ouvert.\n";
}
}
Par ailleurs si quelqu'un saurait m'expliquer comment mettre tous les messages d'erreur dans un fichier de log car j'ai l'habitude d'utiliser dup2 en C mais je ne trouve pas de fonction similaire.
Merci d'avance
Bonjour,
Je commence tout juste à utiliser le PHP aujourd'hui et j'ai une erreur de type E_NOTICE qui ne cesse de revenir. Je sais qu'elle ne sont pas importantes mais ça m'ennuie de la voir à chaque exécution du script.
[code]~/Téléchargements/php[0]$> php index.php
Spécifiez le chemin des fichiers source que vous souhaitez convertir en .csv, séparés par des ';' :
./acc
Récupération des données de acc en cours...
Traitement des données en cours (100.0%)...
PHP Notice: Undefined offset: 1 in /home/kpontif/Téléchargements/php/comptes.php on line 259
Notice: Undefined offset: 1 in /home/kpontif/Téléchargements/php/comptes.php on line 259
Conversion terminée. Souhaitez-vous convertir un ou plusieurs autre(s) fichier(s)? [O/N] : N[/code]
La ligne 259 correspond à mon premier for dans cette ébauche de code. Malgré le nombre de ligne, cette ébauche est la seule chose qui s’exécute puisque le reste n'est pas relié.
[code]function traitementComptesContacts()
{
print "Spécifiez le chemin des fichiers source que vous souhaitez convertir en .csv, séparés par des ';' :\n";
$files = explode(";", trim(fgets(STDIN)));
for ($i=0; $files[$i]; $i++) {
$path = explode("/", $files[$i]);
$fileName = $path[sizeof($path) - 1];
if ($fileFd = @fopen($files[$i], 'r')) {
print "Récupération des données de " . $fileName . " en cours...\n";
/** Fonction de récupération des lignes retournant le nombre de ligne
$comptes_contacts = lireComptesContacts($files[$i]); **/
for ($k=1; $k<=438; $k++) { /* $k = n° de ligne */
usleep(100000); /* Simulation de l'éxecution */
print "\rTraitement des données en cours (" . number_format($k / 438 * 100, 1) . "%)...";
/* Fonction de traitement des données */
}
print "\n";
fclose($fileFd);
}
else
print "Le fichier '" . $fileName . "' indiqué par le chemin '" . $files[$i] . "' n'a pas pu être trouvé ou ouvert.\n";
}
}[/code]
Par ailleurs si quelqu'un saurait m'expliquer comment mettre tous les messages d'erreur dans un fichier de log car j'ai l'habitude d'utiliser dup2 en C mais je ne trouve pas de fonction similaire.
Merci d'avance