Après avoir vu cette question de nombreuses fois dans le forum, je vais présenter un exemple de modification en direct d'un fichier de type texte par le serveur.
Modification d'un fichier en ligne par le serveur
Cette modification peut se faire tout de suite après un Upload par exemple (ce fut le cas lorsque je l'ai développé en ASP).
<%
' Modification du fichier dans les 3 lignes du début Set FSO=Server.CreateObject("Scripting.FileSystemObject")
Fnm = strPath & NomFichier
Reste =""
' Ouverture du fichier en lecture Set Lecture = FSO.OpenTextFile(Fnm,1,False)
' On garde la premiere ligne en mémoire FirstLine = Lecture.readLine
' On passe les 2 lignes suivantes (la seconde et la troisième) Lecture.skipLine Lecture.skipLine
' On charge enfin en mémoire le reste du fichier. While Not Lecture.atEndOfStream Reste = Reste + Lecture.readLine + vbCr Wend Lecture.close
' On Met en mémoire le caractere qu'on souhaite mettre ' à la place des données d'origine. SecondLine = "AAAAAAAA" ThirdLine = "Le texte"
' On ouvre en écriture Set Ecriture = FSO.OpenTextFile(Fnm,2,False)
' On ecrit toute les données stockées en mémoire Ecriture.writeLine FirstLine Ecriture.writeLine SecondLine Ecriture.writeLine ThirdLine Ecriture.writeLine Reste
' On ferme le fichier. Ecriture.close %>
<? // En PHP, la solution est encore plus simple, //du fait du chargement possible du fichier // en tableau avant traîtement.
$fichier = "./TonFichier";
if (file_exists($fichier)) {
// Chargement de l'ensemble du fichier dans le tableau $contenu = file($fichier_fw);
// Définition des variables pour les lignes à modifier $SecondLine = "AAAAAAAA"; $ThirdLine = "Le texte";
// Affectation des valeurs // dans les cases du tableau concernées $contenu[1] = $SecondLine; $contenu[2] = $ThirdLine;
// Ouverture du fichier en écriture $inF = fopen($fichier, "w");
// Ecriture en boucle de toutes les cases du tableau // (une case par ligne) for ($i=0; $i<count($contenu); $i++) { fputs($inF,$contenu[$i]."\n"); }
fclose($inF); ?>
Conclusion
Ce script m'a été demandé dans un cadre professionnel et fonctionne parfaitement, c'et un exemple simple pour montrer que l'ASP ainsi que le PHP peuvent tout faire dès qu'ils ont accès aux données.