Modifier une ligne d'un fichier

twiems Messages postés 31 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 19 octobre 2004 - 28 juil. 2003 à 10:56
cs_hvella Messages postés 14 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 31 mai 2006 - 21 juin 2007 à 16:41
Twiems
:P

En effet je souhaite modifier la dernière d'un fichier html (pareil que fichier txt) mais malheuresement je n'y arrive pas.
Ainsi je voudrais que cette dernière ligne :

soit transformer pour donner ca :

g utiliser le sboucles mais je n'arrive qu'a afficher et pas à modifier
Si qq un est dans la capacité de m'aider je lui serais tres reconnaissant

merci d'avance a+ twiems

5 réponses

defkrie Messages postés 435 Date d'inscription vendredi 20 septembre 2002 Statut Membre Dernière intervention 20 novembre 2004
28 juil. 2003 à 11:12
si ta ligne se trouve q"1 seule fois ya plus simple :

$avant="

";

$apres=":
";

$fp = fopen("index.html", "r+");//on ouvre
$fichier = fgets ($fp, 255); //on recupere tout le contenu
str_replace($avant,$apres,$fichier);//on cherhce et on remplace
fclose($fp);//on referme

\->Bye Defkrie !?!
0
defkrie Messages postés 435 Date d'inscription vendredi 20 septembre 2002 Statut Membre Dernière intervention 20 novembre 2004
28 juil. 2003 à 11:12
si ta ligne se trouve q"1 seule fois ya plus simple :

$avant="

";

$apres=":
";

$fp = fopen("index.html", "r+");//on ouvre
$fichier = fgets ($fp, 255); //on recupere tout le contenu
str_replace($avant,$apres,$fichier);//on cherhce et on remplace
fclose($fp);//on referme

\->Bye Defkrie !?!
0
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
28 juil. 2003 à 18:35
defkrie jsuis pas sur que ca marche...
autre méthode :

tu lis le fichier complet :
$fp= fopen("fichier.htm", "r");
$lecture=fread($fp, filesize("fichier.htm"));
fclose($fp);

ensuite tu remplaces avec :
$lecture=str_replace($avant, $apres, $lecture);

ensuite tu ré-écris le fichier :
$fp=fopen("fichier.htm", "w");
fputs($fp, $lecture);
fclose($fp);


Houzéf@ - www.123toto.com
0
cs_hvella Messages postés 14 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 31 mai 2006
21 juin 2007 à 16:35
Bonjour,
Pour moi avant tout le probleme se trouve au niveau de ton chemin.
tu peux pas pointé vers un sous repertoire quand tu es sur le web.(enfin d'apres se que g compris).

tu devrait placer ton code php a la racine du site et faire des liens du genre

Sinon la fonction fread a du mal a lire un fichier HTML, je c pas pourquoi mais ca doit s'arreter quand ca rencontre trop d espace ou alors ' > .

Moi j'utilise la fonction implode pour modifier un fichier html ( en passant le tableau en chaine de caractere...)

voila le petit code :
//******************** variables url : fichier source  **  file : fichier de destination ***********
$url="http://la_page_source_de_la_modification
$file='url.php';
$html = implode('', file($url));

// on met a jour un champ au passage en appelant le systeme DATE du serveur
    $find = "(dAtE)"; // on ajoute cette variable qui doit etre quelque part dans le fichier php
    $date = "(MAJ ".date("m.d.y").") ";
    $html = str_replace($find, $date, $html);

//******* recherhce du champ body , pour separation de corps head de la page
$divdebut='';
$pos = strpos($html, $divdebut);
// ****** on retourne la position du champ dans le fichier html complet
         if ($pos===false)
             {
             echo 'erreur pas de body dans ce  code';
             }
        
// ******** affichage de la position
echo $pos;

$debut = substr($html,0,$pos);

// ******** affichage de HEAD echo $debut;

// ****** creation du fichier de destination
    $newfile = str_replace(".php",".html",$file);    if ($directory !""){ $newfile $directory.$newfile; }
// ****** remarque avec easy php directory n'existe pas mais sur les serveurs web ca fonctionne.
//****** directory fonctionne peux etre comme un tampon de lecture pour mettre a jour.......
    if ($newfile != "")
    {
        if (!$handle = fopen($newfile, "w"))
        {
            echo "Je peux pas ouvrir le fichier ! ($newfile)";
            exit;
        }
        if (fwrite($handle, $debut) === FALSE)
        {
            echo "Je peux pas ecrire dans le fichier ! ($newfile)";
            exit;
        }
    echo "Ecriture réussie ($newfile)";
    echo "
";
    fclose($handle);
    }
    else
    {
        echo "Erreur de droit d acces";
        echo "
";
    }
//************ fin
J'espere que ca va aider !
Vraiment sympa  PHPCS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_hvella Messages postés 14 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 31 mai 2006
21 juin 2007 à 16:41
Bon le message a trois ans ! ok un peu tard la reponse !
Mais je suis debutant et j'avais pas vu la date !
A+ j'espere que ca servira quand meme !
0
Rejoignez-nous