[PHP] Ne pas lire la 1ère et dernière ligne

HD -  
 HD -
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 !
A voir également:

4 réponses

Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
Je ne sais pas du tout si ca marche, mais tu peux essayer d'effacer les premières et dernières lignes du fichier :
$fichier=preg_replace('#^[^\n]*\n(.*)\n[^\n]*$#sU','$1',$fichier);
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Essaie le code suivant, pour voir :
if (file_exists($fichier))
{
    $fp = fopen("$fichier", "r"); 
}
$premiereLigne = true;
while (!feof($fp))
{ 
    $ligne = fgets($fp,4096); 
    if (!$premiereLigne && !feof($fp))  // Si ce n'est pas la 1ere ligne ni la dernière
    {
        $liste = explode( ";",$ligne);
        /* On assigne les variables */
    }
    else  //Sinon, on indique qu'on a franchi la première ligne
        $premiereLigne=false;
}
0
HD
 
salut
ce code marche bien, merci ! c'est juste qu'il ne récupère pas les lignes dans l'ordre du fichier d'origine :-?
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011 > HD
 
Comment ça, pas dans l'ordre du fichier d'origine ??
0
lefou4 Messages postés 73 Date d'inscription   Statut Membre Dernière intervention   44
 
Apparemment chaque ligne de ton fichier texte est stockée dans un tableau. Pourquoi ne pas lire toutes les lignes du fichier texte puis ensuite supprimer les premier et dernier éléments du tableau ?
0
HD
 
c'est plutôt un fichier CSV (comme excel niveau forme) et quand je récupère ces lignes ( de 1 à 7 par exemple) j'ai dans l'ordre la ligne 5,4,3,6,2.
ce qui fait que j ai pas la 1 et la 7 (tant mieux) mais les autres ne sont pas dans l'ordre :-?
merci a tous
0