Lecture fichier php

audi68 Messages postés 626 Statut Membre -  
audi68 Messages postés 626 Statut Membre -
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 16334 Statut Contributeur 3 825
 
Ok, j'ai rien compris à la question ^^
0
coeus Messages postés 3296 Statut Membre 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 626 Statut Membre 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 626 Statut Membre 9
 
personne?
0
coeus Messages postés 3296 Statut Membre 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 626 Statut Membre 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 3296 Statut Membre 119
 
Ton code devrait être bon. C'est quoi l'erreur que ça te sort ?
0
audi68 Messages postés 626 Statut Membre 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