Lecture fichier php

audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   -  
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour a tous ,

Je veux lire le contenu d un fichier txt mais je voulais savoir si il etait possible d ignorer le 1er ligne

Merci de votre reponse



A voir également:

4 réponses

BeFaX Messages postés 14245 Date d'inscription   Statut Contributeur Dernière intervention   3 825
 
Ok, j'ai rien compris à la question ^^
0
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   119
 
Salut !

Une solution serait d'entreposer ton fichier dans un array, avec chaque élément de l'array contenant une ligne de ton texte. Après, rien de plus facile que d'ignorer la première ligne !
0
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
peut mal exprimer

En fait je lit le contenu de mon fichier comme ceci

if (is_resource($connexion))
{
if (@mysql_select_db('ma base', $connexion))
{
if (($handle = fopen("mon.txt", "r")) !== FALSE)
{
while (($data = fgetcsv($handle, 1000, "|")) !== FALSE)
{
$num = count($data);
echo "<p> $num champs à la ligne $row: <br /></p>\n";

$row++;

// IL faut adapter ici la requete à la structure de ta table
$requete = .........) values (';

for ($c=0; $c < $num; $c++)

{
$requete .= '"'.$data[$c]. '", ';
}
$requete = rtrim($requete, ', ').')';
echo $requete . "<br />\n"; // rajout du echo

// il manque la fin mais rien d important

J aimerais savoir s il etait possible d ignorer le 1er ligne

Existe t il un fonction?

Merci de votre aide
0
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
personne?
0
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   119
 
Non il n'existe pas de fonction en tant que tel... Mais on peut essayer de tweaker.

Dans le fond, si je comprends bien ton code, c'est dans ton bout :

for ($c=0; $c < $num; $c++) 
{ 
$requete .= '"'.$data[$c]. '", '; 
} 
$requete = rtrim($requete, ', ').')'; 
echo $requete . "<br />\n"; // rajout du echo 

que le contenu s'affiche ?

Si c'est ça, pourquoi ne pas tout simplement mettre une condition :
if ($c > 0) { 

? Comme ça, la boucle for() va sauter la première instance de $c, ce qui devrait logiquement sauter la première ligne d'affichage...
0
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
merci de ta reponse coeus

le contenu s affiche de la maniere suivante

ligne1 blabla

ligne blalallll

ligne 3 blaaa

Oui effectivement je peut mettre une condition et le if je doit le mettre ou?
apres le for? mais j ai une erreur
for ($c=0; $c < $num; $c++)

{
if ($c > 0) {
$requete .= '"'.$data[$c]. '", ';
}
}
$requete = rtrim($requete, ', ').')';
echo $requete . "<br />\n"; // rajout du echo
// On execute ensuite la requete

merci de ton aide
0
coeus Messages postés 3021 Date d'inscription   Statut Membre Dernière intervention   119
 
Ton code devrait être bon. C'est quoi l'erreur que ça te sort ?
0
audi68 Messages postés 571 Date d'inscription   Statut Membre Dernière intervention   9
 
non j ai cette erreur
Column count doesn't match value count at row 1

et si je fais sans aucune erreur

Merci
0