Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je
souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème
caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère
mais je ne trouve pas la façon de faire pour que mon pointeur se
positionne sur le 10ème caractère.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
CrazyCat
Rom1 wrote:
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante. Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Je pense que tu ne trouveras pas la solution aussi simplement.
Tu peux utiliser fseek() pour te déplacer dans le fichier mais ce n'est pas la manière la plus aisée (comptage du déplacement en octets). A mon avis, si la ligne commence par un A, tu fais un fgets() pour récupérer la ligne dans une variable (par exemple $ligne) et tu peux récupérer $ligne{9} qui correspond au 10ème caractère.
-- Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu Réseau IRC Francophone: http://www.crazy-irc.net
Rom1 wrote:
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème
caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère
mais je ne trouve pas la façon de faire pour que mon pointeur se
positionne sur le 10ème caractère.
Je pense que tu ne trouveras pas la solution aussi simplement.
Tu peux utiliser fseek() pour te déplacer dans le fichier mais ce n'est
pas la manière la plus aisée (comptage du déplacement en octets).
A mon avis, si la ligne commence par un A, tu fais un fgets() pour
récupérer la ligne dans une variable (par exemple $ligne) et tu peux
récupérer $ligne{9} qui correspond au 10ème caractère.
--
Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu
Réseau IRC Francophone: http://www.crazy-irc.net
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante. Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Je pense que tu ne trouveras pas la solution aussi simplement.
Tu peux utiliser fseek() pour te déplacer dans le fichier mais ce n'est pas la manière la plus aisée (comptage du déplacement en octets). A mon avis, si la ligne commence par un A, tu fais un fgets() pour récupérer la ligne dans une variable (par exemple $ligne) et tu peux récupérer $ligne{9} qui correspond au 10ème caractère.
-- Discussions et débats sur l'actualité: http://www.sujets-d-actu.eu Réseau IRC Francophone: http://www.crazy-irc.net
Philippe
Essaye avec la fonction fseek
http://fr.php.net/manual/fr/function.fseek.php
On 2007-09-17 17:59:04 +0200, Rom1 said:
Bonjour,
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
J'espère être clair. Merci pour votre aide.
Essaye avec la fonction fseek
http://fr.php.net/manual/fr/function.fseek.php
On 2007-09-17 17:59:04 +0200, Rom1 <f.rom1nospam@wanadoo.fr> said:
Bonjour,
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je
souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème
caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère
mais je ne trouve pas la façon de faire pour que mon pointeur se
positionne sur le 10ème caractère.
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
J'espère être clair. Merci pour votre aide.
Olivier Miakinen
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Ne pas utiliser fgetc(), à mon humble avis. Tu récupères chaque ligne par fgets(), mettons $ligne, et ensuite si substr($ligne, 0, 1) vaut "A" tu retournes substr($ligne, 9, 1) (pourvu que le résultat soit différent de false, c'est-à-dire que la ligne contienne au moins 10 caractères).
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et $string{9}.
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème
caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère
mais je ne trouve pas la façon de faire pour que mon pointeur se
positionne sur le 10ème caractère.
Ne pas utiliser fgetc(), à mon humble avis. Tu récupères chaque ligne
par fgets(), mettons $ligne, et ensuite si substr($ligne, 0, 1) vaut "A"
tu retournes substr($ligne, 9, 1) (pourvu que le résultat soit différent
de false, c'est-à-dire que la ligne contienne au moins 10 caractères).
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et
$string{9}.
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Ne pas utiliser fgetc(), à mon humble avis. Tu récupères chaque ligne par fgets(), mettons $ligne, et ensuite si substr($ligne, 0, 1) vaut "A" tu retournes substr($ligne, 9, 1) (pourvu que le résultat soit différent de false, c'est-à-dire que la ligne contienne au moins 10 caractères).
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et $string{9}.
Bruno Desthuilliers
Bonjour,
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur,
s/mon navigateur/la sortie standard/
sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Si tu tiens absolument à faire une lecture caractère par caractère, tu
peux toujours regarder du côté de fseek() et ftell().
Sinon, tu peux faire une lecture par ligne (avec fgets()), et accéder directement aux premier et dixèmes caractères de la ligne avec la même notation que pour un tableau:
$f = fopen('/chemin/vers/fichier.txt', 'r'); if (! is_resource($f)) { die("oops"); } $line = fgets($f); while (! feof($f)) { if ($line[0] == 'A') { echo $line[9]; } $line = fgets($f); } fclose($f);
(pas testé...)
Bonjour,
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je
souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème
caractère sur mon navigateur,
s/mon navigateur/la sortie standard/
sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère
mais je ne trouve pas la façon de faire pour que mon pointeur se
positionne sur le 10ème caractère.
Si tu tiens absolument à faire une lecture caractère par caractère, tu
peux toujours regarder du côté de fseek() et ftell().
Sinon, tu peux faire une lecture par ligne (avec fgets()), et accéder
directement aux premier et dixèmes caractères de la ligne avec la même
notation que pour un tableau:
$f = fopen('/chemin/vers/fichier.txt', 'r');
if (! is_resource($f)) {
die("oops");
}
$line = fgets($f);
while (! feof($f)) {
if ($line[0] == 'A') {
echo $line[9];
}
$line = fgets($f);
}
fclose($f);
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur,
s/mon navigateur/la sortie standard/
sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Si tu tiens absolument à faire une lecture caractère par caractère, tu
peux toujours regarder du côté de fseek() et ftell().
Sinon, tu peux faire une lecture par ligne (avec fgets()), et accéder directement aux premier et dixèmes caractères de la ligne avec la même notation que pour un tableau:
$f = fopen('/chemin/vers/fichier.txt', 'r'); if (! is_resource($f)) { die("oops"); } $line = fgets($f); while (! feof($f)) { if ($line[0] == 'A') { echo $line[9]; } $line = fgets($f); } fclose($f);
(pas testé...)
Antoine Polatouche
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et $string{9}.
D'après la doc il vaut mieux utiliser $string[0] que $string{0}, pour prendre les bonnes habitudes...
http://fr3.php.net/manual/fr/language.types.string.php // Méthode alternative utilisant des {}, obsolète depuis PHP 6
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et
$string{9}.
D'après la doc il vaut mieux utiliser $string[0] que $string{0}, pour
prendre les bonnes habitudes...
http://fr3.php.net/manual/fr/language.types.string.php
// Méthode alternative utilisant des {}, obsolète depuis PHP 6
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et $string{9}.
D'après la doc il vaut mieux utiliser $string[0] que $string{0}, pour prendre les bonnes habitudes...
http://fr3.php.net/manual/fr/language.types.string.php // Méthode alternative utilisant des {}, obsolète depuis PHP 6
Antoine Polatouche
Bonjour, bonjour.
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Pour lire un fichier texte et le décomposer en lignes, la fonction file() est très bien: elle retourne un tableau de lignes.
donc: $lignes = file('fichier.txt'); foreach($lignes as $ligne) { if($ligne[0]=='A') { // Si moins de 10 caractères, $dixieme sera vide $dixieme = $ligne[9]; // Faire ce qu'il faut de $dixieme } }
Bonjour,
bonjour.
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je
souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème
caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère
mais je ne trouve pas la façon de faire pour que mon pointeur se
positionne sur le 10ème caractère.
Pour lire un fichier texte et le décomposer en lignes, la fonction
file() est très bien: elle retourne un tableau de lignes.
donc:
$lignes = file('fichier.txt');
foreach($lignes as $ligne)
{
if($ligne[0]=='A')
{
// Si moins de 10 caractères, $dixieme sera vide
$dixieme = $ligne[9];
// Faire ce qu'il faut de $dixieme
}
}
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
Pour lire un fichier texte et le décomposer en lignes, la fonction file() est très bien: elle retourne un tableau de lignes.
donc: $lignes = file('fichier.txt'); foreach($lignes as $ligne) { if($ligne[0]=='A') { // Si moins de 10 caractères, $dixieme sera vide $dixieme = $ligne[9]; // Faire ce qu'il faut de $dixieme } }
Olivier Miakinen
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et $string{9}.
D'après la doc il vaut mieux utiliser $string[0] que $string{0}, pour prendre les bonnes habitudes...
http://fr3.php.net/manual/fr/language.types.string.php // Méthode alternative utilisant des {}, obsolète depuis PHP 6
Tiens, pour une fois ce n'est pas que dans la doc en français qu'il y a des incohérences.
http://fr.php.net/manual/fr/function.substr.php // Accéder à un simple caractère dans une chaîne // peut également être réalisé en utilisant des accolades $string = 'abcdef'; echo $string{0}; // a echo $string{3}; // d echo $string{strlen($string)-1}; // f
http://fr.php.net/manual/en/function.substr.php // Accessing single characters in a string // can also be achived using "curly braces" $string = 'abcdef'; echo $string{0}; // a echo $string{3}; // d echo $string{strlen($string)-1}; // f
Tu aurais le courage de signaler le fait (en anglais, probablement) ?
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et
$string{9}.
D'après la doc il vaut mieux utiliser $string[0] que $string{0}, pour
prendre les bonnes habitudes...
http://fr3.php.net/manual/fr/language.types.string.php
// Méthode alternative utilisant des {}, obsolète depuis PHP 6
Tiens, pour une fois ce n'est pas que dans la doc en français qu'il y a
des incohérences.
http://fr.php.net/manual/fr/function.substr.php
// Accéder à un simple caractère dans une chaîne
// peut également être réalisé en utilisant des accolades
$string = 'abcdef';
echo $string{0}; // a
echo $string{3}; // d
echo $string{strlen($string)-1}; // f
http://fr.php.net/manual/en/function.substr.php
// Accessing single characters in a string
// can also be achived using "curly braces"
$string = 'abcdef';
echo $string{0}; // a
echo $string{3}; // d
echo $string{strlen($string)-1}; // f
Tu aurais le courage de signaler le fait (en anglais, probablement) ?
Note qu'à la place de substr tu peux d'ailleurs utiliser $string{0} et $string{9}.
D'après la doc il vaut mieux utiliser $string[0] que $string{0}, pour prendre les bonnes habitudes...
http://fr3.php.net/manual/fr/language.types.string.php // Méthode alternative utilisant des {}, obsolète depuis PHP 6
Tiens, pour une fois ce n'est pas que dans la doc en français qu'il y a des incohérences.
http://fr.php.net/manual/fr/function.substr.php // Accéder à un simple caractère dans une chaîne // peut également être réalisé en utilisant des accolades $string = 'abcdef'; echo $string{0}; // a echo $string{3}; // d echo $string{strlen($string)-1}; // f
http://fr.php.net/manual/en/function.substr.php // Accessing single characters in a string // can also be achived using "curly braces" $string = 'abcdef'; echo $string{0}; // a echo $string{3}; // d echo $string{strlen($string)-1}; // f
Tu aurais le courage de signaler le fait (en anglais, probablement) ?
Antoine Polatouche
echo $string{0}; // a echo $string{3}; // d echo $string{strlen($string)-1}; // f
Tu aurais le courage de signaler le fait (en anglais, probablement) ?
C'est déjà fait dans les commentaires:
Robert Chapin 26-Jun-2007 11:40 All the references to "curly braces" on this page appear to be obsolete.
According to http://us.php.net/manual/en/language.types.string.php
"Using square array-brackets is preferred because the {braces} style is deprecated as of PHP 6."
echo $string{0}; // a
echo $string{3}; // d
echo $string{strlen($string)-1}; // f
Tu aurais le courage de signaler le fait (en anglais, probablement) ?
C'est déjà fait dans les commentaires:
Robert Chapin
26-Jun-2007 11:40
All the references to "curly braces" on this page appear to be obsolete.
According to http://us.php.net/manual/en/language.types.string.php
"Using square array-brackets is preferred because the {braces} style is
deprecated as of PHP 6."
echo $string{0}; // a echo $string{3}; // d echo $string{strlen($string)-1}; // f
Tu aurais le courage de signaler le fait (en anglais, probablement) ?
C'est déjà fait dans les commentaires:
Robert Chapin 26-Jun-2007 11:40 All the references to "curly braces" on this page appear to be obsolete.
According to http://us.php.net/manual/en/language.types.string.php
"Using square array-brackets is preferred because the {braces} style is deprecated as of PHP 6."
Rom1
Merci pour vos précieux renseignements. Il ne me reste plus qu'à les mettre en pratique.
Bonjour,
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.
J'espère être clair. Merci pour votre aide.
Merci pour vos précieux renseignements. Il ne me reste plus qu'à les
mettre en pratique.
Bonjour,
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je
souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème
caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère
mais je ne trouve pas la façon de faire pour que mon pointeur se
positionne sur le 10ème caractère.
Merci pour vos précieux renseignements. Il ne me reste plus qu'à les mettre en pratique.
Bonjour,
Je suis novice en PHP et je cherche à manipuler des fichiers.
J'ai un fichier "fichier.txt" composé de plusieurs lignes. Je souhaiterais réussir à effectuer la chose suivante :
Si le premier caractère de la ligne est un "A" alors j'affiche le 10ème caractère sur mon navigateur, sinon je passe à la ligne suivante.
Avec la fonction fgetc() j'arrive à récupérer mon premier caractère mais je ne trouve pas la façon de faire pour que mon pointeur se positionne sur le 10ème caractère.