Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 18-05-2005 06:29:14

Guest
Membre
Date d'inscription: 26-06-2004
Messages: 15
Site web

Script php connaitre le nbr de ligne d'un .txt

:shock: Le principe :

Pouvoir supprimer automatiquement la 1er ligne d'un ficher txt quant celui ci arrive à 30 lignes.

:shock:  Pré-codé :

En cherchant un peu, j'ai trouvé ce script qui efface la premiere ligne de mon fichier txt. Ce qui me manque c'est une condition concernant le nombre de ligne à partir duquel le script à le droit d'effacer ma ligne.

Code:

<?php
Efface_Ligne_n("fichier.txt", "1", "0");

function Efface_Ligne_n($fichier, $nb, $option)
{
    if (file_exists("$fichier"))
    {
        if($id = fopen("$fichier", "r+"))
        {
            --$nb;
            while(!feof($id))
            {
                $ligne[]= fgets($id,1000000); 
            }
            rewind($id);
            for($i=0; $i<$nb; ++$i)
            { 
                $partie.=$ligne[$i];
            }
            if($option==0)
            {
                $partie.=$retour;
            }
            for($i=$nb+1; $i>$nb, $i<500; ++$i)
            { 
                $partie.=$ligne[$i];
            }
            fclose($id);
            $id = fopen("$fichier", "w+");
            fputs($id, $partie);
            fclose($id);
            return ok;
        }
        else
        {
            return pb_ouv;
        }
    }
    else
    {
        return no_file;
    }
}
?>

Merci d'avance  big_smile

Hors ligne

 

#2 18-05-2005 06:37:40

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Script php connaitre le nbr de ligne d'un .txt

il faut que tu compte le nombre de lignes
voici comment je ferai personnellement

Code:

function nb_lignes($fichier) {
$fp = fopen($fichier, "r");
$f = file($fp);
return sizeof($f);
fclose($fp);
}

ce que ca fait...
ca ouvre le fichier, mets chaque ligne dans une entrée d'un tableau
et ca retourne le nombre de lignes du tableau, donc, le nombre de lignes du fichier wink

Hors ligne

 

#3 18-05-2005 06:57:14

Mrseth
Membre
Date d'inscription: 18-05-2005
Messages: 35
Site web

Re: Script php connaitre le nbr de ligne d'un .txt

Merci pour ce code  big_smile

JH'ai peut etre du mal mais est il possible que tu me précise comment grâce a ton code, je peus resortir le nombre de lignes sous forme de valeur, du genre $totalligne.

Pour que je mette :

if ($totalligne > 30 ) { 

le code d'effacement s'effectue

}

Merci  big_smile

Hors ligne

 

#4 18-05-2005 07:04:02

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Script php connaitre le nbr de ligne d'un .txt

bah, tu définis totalligne comme cela :

Code:

$totalligne = nb_lignes('monfichier.txt');

et ta variable contiendra le nombre de lignes wink

Hors ligne

 

#5 18-05-2005 07:47:42

Mrseth
Membre
Date d'inscription: 18-05-2005
Messages: 35
Site web

Re: Script php connaitre le nbr de ligne d'un .txt

Merci encore une fois  big_smile

Par contre je ne comprend pas pourquoi le script me renvoie l'erreur suivante :

Warning: file() expects parameter 1 to be string, resource given


Code:

function nb_lignes($fichier) { 
$fp = fopen($fichier, "r"); 
$f = file($fp);                       // erreur à cette ligne ??????
return sizeof($f); 
fclose($fp); 
}

Hors ligne

 

#6 18-05-2005 10:41:51

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Script php connaitre le nbr de ligne d'un .txt

oups, je suis dsl :?
si tu regarde sur php.net la fonction file()
il ouvre lui meme le fichier

donc, ta fonction devra etre comme cela :

Code:

function nb_lignes($fichier) {
$f = file($fichier);
return sizeof($f);
}

encore désolé

Hors ligne

 

#7 18-05-2005 11:13:38

Mrseth
Membre
Date d'inscription: 18-05-2005
Messages: 35
Site web

Re: Script php connaitre le nbr de ligne d'un .txt

big_smile  On peut clore le sujet , tout fonctionne à merveille  big_smile

Merci KaZhaR

Hors ligne

 

#8 18-05-2005 11:16:30

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: Script php connaitre le nbr de ligne d'un .txt

mais, de rien, c'est normal smile
(ca a apporté à tlm, je connaissait pas file() )

Hors ligne