Ne pas lire la 1ère et dernière ligne d'un fichier

Coolam
Invité n'ayant pas de compte PHPfrance

20 déc. 2006, 18:13

Bonjour
je lis un fichier php avec un code classique :
if (file_exists($fichier))
    {
	$fp = fopen("$fichier", "r"); 
    }
      
    while (!feof($fp))
    { 
       $ligne = fgets($fp,4096); 
       $liste = explode( ";",$ligne);       
       /* On assigne les variables */
Sauf que je ne veux pas lire la première et la dernière ligne de ce fichier.
Merci donc de m'indiquer comment procéder pour celà
merci d'avance pour votre aide !

plouf
Invité n'ayant pas de compte PHPfrance

20 déc. 2006, 21:18

Essaye avec file()
if (file_exists($fichier))
{
     $fp = file($fichier); 
     
     unset($fp[0], $fp[(count($fp)-1)]);
  
     foreach( $fp as $ligne )
          $liste = explode( ";",$ligne);       
          /* On assigne les variables */ 
}

Coolam
Invité n'ayant pas de compte PHPfrance

21 déc. 2006, 01:20

MERCI !

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

21 déc. 2006, 02:43

Merci donc de m'indiquer comment procéder pour celà
Je ne comprends pas. Est-ce que tu as essayé de le faire par toi-même avant de demander ici ? À la rigueur, j'arrive à comprendre qu'un débutant se pose des question sur la façon d'éviter de lire la dernière ligne, mais je n'arrive pas à imaginer qu'on n'ait aucune idée de comment ignorer la première ligne. Par exemple, $i=0;, j'incrémente $i à chaque ligne, si $i vaut 0 alors j'ignore la ligne. C'est du même niveau que "j'ai un cylindre, j'ai un trou carré et un trou rond, par où passe le cylindre ?".

Il y a quelque chose d'extrêmement important en programmation, c'est d'apprendre à se débrouiller tout seul. Et pour celà il faut commencer par expérimenter, essayer différentes solutions et utiliser son cerveau, pas uniquement recopier du code ou demander aux autres de le faire à sa place. Il faut se tromper, puis comprendre pourquoi on s'est trompé, sinon on reste à zéro éternellement.