<?php

// ------------------------------------------------------------------------- //
// Effacer la ligne n d'un fichier                                           //
// ------------------------------------------------------------------------- //
// Auteur: Matt <matt@php-test.com>                                          //
// Web:    http://www.php-test.com                                           //
// ------------------------------------------------------------------------- //

/*
Cette fonction vous permettra d'effacer une ligne dans un fichier. Vous pouvez
choisir de laisser la ligne vide ou de remonter d'un cran le reste du texte.

Exemples d'application:

    Efface_Ligne_n("data.txt", "5", "0");
    -> Effacera la ligne 5 du fichier data.txt et
       laisse la ligne vide.

    Efface_Ligne_n("data.txt", "5", "0");
    -> Effacera la ligne 5 du fichier data.txt et
       remonte le reste du fichier d'un cran.
*/

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;
    }
}

?>