Php, fichier txt et retour au début de ligne
Fermé
Eponyme
-
23 avril 2010 à 14:24
biboo_ Messages postés 1249 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 14 mars 2012 - 23 avril 2010 à 16:36
biboo_ Messages postés 1249 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 14 mars 2012 - 23 avril 2010 à 16:36
A voir également:
- Php, fichier txt et retour au début de ligne
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Retour à la ligne excel - Guide
- Site de vente en ligne particulier - Guide
4 réponses
biboo_
Messages postés
1249
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
14 mars 2012
106
23 avril 2010 à 14:31
23 avril 2010 à 14:31
Je pense que 0 te faire revenir au caractère à l'indice 0, donc au début.
Il faudrait que tu trouves la position du saut de ligne (celui qui te permette de passer à la ligne), et tu fais un fseek($fichier, indiceDuSautDeLigne+1).
Il faudrait que tu trouves la position du saut de ligne (celui qui te permette de passer à la ligne), et tu fais un fseek($fichier, indiceDuSautDeLigne+1).
Tu as raison, c'est ce qui parait le plus logique. Les caractères de saut de ligne n'apparaissent pas dans mon fichier. Les fichiers sont soit générés (saut de ligne créé avec fputs($fichier, "\r\n" );), soit déposés en upload. J'ai les lignes les unes en dessous des autres. Le caractère de saut de ligne se situe-t-il normalement à la fin de la ligne ou au début de la ligne suivante? Le saut de ligne est-il écrasé par la nouvelle le ligne inscrite? Il faut savoir que la nouvelle ligne inscrite sera toujours plus longue que l'ancienne, donc la recouvrira totalement.
Ce que je pense faire c'est initialiser une variable $debut_ligne à 0, puis lire la ligne et copier le contenu, le modifier et le recopier avec un saut de ligne en ayant fait fseek($fichier,$debut_ligne) pour replacer le curseur. Après la copie dans le fichier le curseur sera à la fin du saut de ligne donc en théorie au début de la ligne suivante(si se dernier est à la fin de la ligne?). Avec ftell($fichier) j'obtiens la position du curseur et j'envoie la réponse dans la variable $debut_ligne qui sera modifiée de la même manière au fur et à mesure de l'avancement de ma boucle et à chaque fois j'utilise fseek($fichier,$debut_ligne) pour revenir.
Que penses-tu de ça?
Le tout est de connaître la position du saut de ligne et s'il est oui ou non écrasé par la copie comme les autres caractères...
Ce que je pense faire c'est initialiser une variable $debut_ligne à 0, puis lire la ligne et copier le contenu, le modifier et le recopier avec un saut de ligne en ayant fait fseek($fichier,$debut_ligne) pour replacer le curseur. Après la copie dans le fichier le curseur sera à la fin du saut de ligne donc en théorie au début de la ligne suivante(si se dernier est à la fin de la ligne?). Avec ftell($fichier) j'obtiens la position du curseur et j'envoie la réponse dans la variable $debut_ligne qui sera modifiée de la même manière au fur et à mesure de l'avancement de ma boucle et à chaque fois j'utilise fseek($fichier,$debut_ligne) pour revenir.
Que penses-tu de ça?
Le tout est de connaître la position du saut de ligne et s'il est oui ou non écrasé par la copie comme les autres caractères...
Je précise (si ça peut aider pour les sauts de ligne) que lorsqu'ils sont uploadés, les fichiers sont réalisés à partir d'exportation de fichier xls au format csv.
Merci encore
Merci encore
biboo_
Messages postés
1249
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
14 mars 2012
106
23 avril 2010 à 16:36
23 avril 2010 à 16:36
Pour répondre à ta proposition de 16:09, je pense que tu pars dans la bonne direction (notamment avec l'utilisation du $ftell).
Je ne fais plus de PHP depuis un moment, mais conceptuellement parlant ça me paraît plutôt bon. :)
Par contre, je ne connais pas vraiment la forme d'un fichier csv..
Je ne fais plus de PHP depuis un moment, mais conceptuellement parlant ça me paraît plutôt bon. :)
Par contre, je ne connais pas vraiment la forme d'un fichier csv..