Traitement sur les fichiers (insertion de texte en début et fin de fichier) [Résolu]

Messages postés
4
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 janvier 2008
- - Dernière réponse : cs_Bidou
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
- 16 janv. 2008 à 16:55
Bonjour à tous. (je ne savai pas où mettre ce post alors je l'ai posté ici.)
Alors voilà j'ai un petit problème.
J'ai une application, dans celle-ci j'ai un traitement qui prend un fichier Excel et le converti en .htm.
Après j'ai réussi à mettre le fichier en .php (copie du .htm et changement de l'extension du fichier).
Jusque là tout va bien.
Le truc c'est que je voudrai inserer au tout debut dans le fichier .php, ce truc là :  <?PHP include('includes/log.php'); ?>
et inserer un autre truc en fin de fichier.

Pour le moment j'ai fai ça comme code :

-------------------------------------------------------------------------------------------------------------
// Transformation des fichiers en fichiers PHP.
 File.Copy("C:\\LandvartBROrders&Stocks\\FRANCENORD45479.htm","C:\\LandvartBROrders&Stocks\\FRANCENORD45479.php", true);
                  
// Injection du header
   string header = "<? include('includes/log.php'); ?>";
   FileStream fs = File.OpenWrite("C:\\LandvartBROrders&Stocks\\FRANCENORD45479.php");
   Byte[] ByteRefUser = new UTF8Encoding(true).GetBytes(header);
   fs.Write(ByteRefUser, 0, ByteRefUser.Length);
-------------------------------------------------------------------------------------------------------------

Il insert bien en debut de fichier, mais il insert en remplaçant ce qui est écrit au debut du fichier, et je voudrai qu'il insert sans "bouffer" ce que contient le fichier.

Quelqu'un pourait-il m'aider svp ?
Merci d'avance à tous.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
4
Date d'inscription
jeudi 11 octobre 2007
Statut
Membre
Dernière intervention
22 janvier 2008
3
Merci
Encore désolé pour le message mal placé
Merci pour vos réponses et suggestions.

J'ai réfléchi sur vos réponses et j'ai eu une idée avec l'utilisation de StreamReader et StreamWriter que vous m'avez suggeré, la voici :

string contenu =
"";

string include =
"<? include('includes/log.php'); ?>" +
"\r\n";

// On copie le contenue du fichier .htm
StreamReader sr1 =
new
StreamReader(
"C:\\LandvartBROrders&Stocks\\FRANCENORD45479.htm",
ASCIIEncoding.Default);
contenu = sr1.ReadToEnd();
sr1.Close();

// On crée un fichier .php
StreamWriter sw1 =
new
StreamWriter(
"C:\\LandvartBROrders&Stocks\\FRANCENORD45479.php");

// On écrit dans le fichier .php le "include".
sw1.WriteLine(include);
sw1.Close();

// On écrit dans le fichier .php (à la suite du include) le contenue du fichier .htm (la variable "contenu")
StreamWriter sw01 =
new
StreamWriter(
"C:\\LandvartBROrders&Stocks\\FRANCENORD45479.php",
true);
sw01.WriteLine(contenu);
sw01.Close();

Et voilà, le tour est joué ! La fonction php include est insérée avant le code html dans un fichier .php.
Certes c'est une solution un peut barbar pour certain, mais elle marche
Merci à tous les deux pour vos réponses !!!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de DJVince91
0
Merci
je ne savai pas où mettre ce post alors je l'ai posté ici : Peut etre que dans le forum du langage adéquat ca aurait été mieux.

A moins d'etre obsédé du goulot

Va falloir m'expliquer comment vous faites pour vous planter.

Pour répondre à ta question tu t'y prend mal : Il faut créer un stream, y écrire ton header et ensuite copier le stream contenant ton fichier php. Ensuite tu rajoutes ton truc inconnu enfin de stream et tu libères le tout pour créer ton fichier.

On peut se déplacer dans un stream pas le décaler de position.
Commenter la réponse de Utilisateur anonyme
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
51
0
Merci
Hello,


Tu peux aussi essayer comme ça :









using
(

StreamWriter
sw =

File


.CreateText(filephp))


{

sw.WriteLine(header);

sw.WriteLine(

File

.ReadAllText(filehtm));


sw.WriteLine(footer);

}




Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
Commenter la réponse de SharpMao
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
42
0
Merci
Francky> J'ai déplacé le message sur le bon forum entre temps ;-)


<hr />
-My Blog-
Commenter la réponse de cs_Bidou