Edition de fichier html

Fermé
arbilus - 5 juin 2010 à 09:36
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 - 6 juin 2010 à 14:46
Bonjours, est-il possible d'éditer un fichier html avec le contenu d'un fichier txt créé avec:

<?

$fp = fopen("text.txt","w+" );

fputs($fp, "" );
fputs($fp, $_POST['url']);

fclose($fp);

?>


Je veux dire par là que le fichier html serait modifié (exemple: une phrase)
A voir également:

12 réponses

louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
5 juin 2010 à 09:49
Si ta question est: Est-ce possible de créer, modifier, ou ajouter des données dans un fichier quelconques (.txt, .html, ...) avec le php, c'est tout à fait possible...
0
Je reformule ma question:

Bonjours, est-il possible d'éditer un fichier html à un endroit spécifique. Je connais ça pour l'instant:

<?

$fp = fopen("test.html","w+" );

fputs($fp, "" );
fputs($fp, $_POST['url']);

fclose($fp);

?>


Je veux dire par là que le fichier html serait modifié (exemple: une phrase)
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
5 juin 2010 à 10:51
Pardon d'être encore eu,,, rabat-joie, mais "à un endroit spécifique" ca veut dire une ligne spécifique du fichier, ou un groupement de ligne ? => dans ce cas tout à fait possible... Mais sais-tu au départ ce que tu cherches dans le fichier? une chaine de caractère connus?
0
Et bien ce serait une ligne spécifique du fichier.

Et oui, je sais ce que je cherche dans le fichier.

ps: je n'ai pas encore créé ce fichier html, mais je sais à quoi il ressemblera et à quoi il servira.
Je cherche notamment à faire en sorte que grâce au formulaire le type puisse modifier l'adresse de l'inclusion situé dans le fichier html.
0
up
0

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

Posez votre question
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
Modifié par louloute300 le 5/06/2010 à 17:29
<?
$chainerecherche= // Ce que tu recherche
$chaineremp= // Chaine à mettre à la place de la précédente
$fichier= "nom_du_fichier"; // Nom du fichier


$chaine= fichier($fichier);
if (ereg($chainecherche,$chaine)){
$chaine=str_replace($chainerecherche,$chaineremp,$chaine);
ajouttxt($fichier,$chaine);
}


function ajouttxt($fichier,$txt=''){
if ($txt==""){ // Lit le fichier
$fp = fopen ($fichier, "r");
$contenu_du_fichier = fgets ($fp);
return $contenu_du_fichier;
}else{ //Ecris dans le fichier
$fp = fopen($fichier, 'w');
fwrite($fp, $txt);
}
close $fp;
}

?>


PS: J'ai pas testé le code...
Les 2 premières lignes sont à renseigner pas toi...
0
Mais si je veux faire en sorte de modifier le contenu (à l'endroit spécifique) avec les données d'un formulaire d'envoie type "post".
Je vois pas comment faire avec ton script.
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
5 juin 2010 à 17:31
effectivement...
Je viens de modifier mon script

ex:
$chainerecherche='<form name=form0 method="post">';
$chaineremp='<form name=form1 method="post">';
0
Quand tu écris: "$chainerecherche='<form name=form0 method="post">'; "
C'est un exemple que veut dire que tu recherche "'<form name=form0 method="post">';" ?

Et quand tu écris: "$chaineremp='<form name=form1 method="post">';"
Cela veut dire que tu remplace ce qui est recherché par ce qu'à écris le type dans le formulaire ?
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
6 juin 2010 à 09:25
$chainerecherche => est la chaine à recherché

$chaineremp => est la chaine qui remplacera ce qu'il y a à rechercher^^. Attention, cette méthode va remplacer TOUTES les chaines identiques à $chainerecherche dans le fichier. A toi de mettre un truc, qqch qui fera qu'il ne pourra y en avoir qu'un dans le fichier html....

donc rechercher "1" est un peu une chaine mince...
0
Je viens de tester:

$chainerecherche='1';// Ce que tu recherche
$chaineremp='<form name=url method="post">'; // Chaine à mettre à la place de la précédente
$fichier= "test.html"; // Nom du fichier


$chaine= fichier($fichier);
if (ereg($chainecherche,$chaine)){
$chaine=str_replace($chainerecherche,$chaineremp,$chaine);
ajouttxt($fichier,$chaine);
}


function ajouttxt($fichier,$txt=''){
if ($txt==""){ // Lit le fichier
$fp = fopen ($fichier, "r");
$contenu_du_fichier = fgets ($fp);
return $contenu_du_fichier;
}else{ //Ecris dans le fichier
$fp = fopen($fichier, 'w');
fwrite($fp, $txt);
}
fclose($fp);
}


Je l'ai donc modifier à ma guise. Et déja, il y a une faute: c'est pas plutôt "fclose($fp);".
Mais bon, sinon autrement il y a un problème: ça me met ça: "Fatal error: Call to undefined function fichier() in /home/arbilus/public_html/1.php on line 35"

La ligne 35 c'est: "$chaine= fichier($fichier);"
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
6 juin 2010 à 09:23
Ligne 35 à remplacer par:
$chaine= ajouttxt($fichier);
0
Maintenant ça me met:

"Warning: ereg() [function.ereg]: REG_EMPTY in /home/arbilus/public_html/1.php on line 36"

ligne 36 = if (ereg($chainecherche,$chaine)){
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
Modifié par louloute300 le 6/06/2010 à 11:12
essai plutot avec :
if (ereg($chainerecherche,$chaine)){
0
ça fonctionne: pas de message d'erreur.

Par contre ça modifie bien la ligne demandé...


Exemple: j'ai pris un fichier que j'ai nommé test.html, ce fichier a pour code:
sqdlfkqsdfklj<br><br>1qfafazjlkhoisdfjljklqdfoi<br><br><br>DSFLJKDFQF<br>


Ce qui donne à l'affichage:

sqdlfkqsdfklj

1qfafazjlkhoisdfjljklqdfoi


DSFLJKDFQF


Et une fois le script mis en marche, le fichier a pour code:
sqdlfkqsdfklj<br><br><form name=url method="post"><br><br><br>DSFLJKDFQF<br>


Ce qui affiche:
sqdlfkqsdfklj




DSFLJKDFQF


En faite avec le script que tu m'a donné ça interprète
<form name=url method="post">
comme un nouveau "message" et non comme une commande pour interpréter les données transmises par le formulaire d'envoi.
0
Donc comment faire pour remplacer par les données du formulaire ?
0
louloute300 Messages postés 335 Date d'inscription jeudi 3 juin 2010 Statut Membre Dernière intervention 28 novembre 2012 29
6 juin 2010 à 14:46
Att, je comprend plus. Au départ, je voulais transformer une partie de ton fichier html, par une autre. (Ce que j'ai fait via le code que je t'ai passé)

Maintenant, j'ai un peu de mal à voir ce que tu veux: Si je vois bien, tu veux lire une donné dans le fichier (sans la connaitre) et que tu veux remplacer par une autre donnée ?
0
Problème réglé. Merci pour le temps que tu as passé à cela. ça m'a beaucoup aidé.
0