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

Résolu
DJVince91 Messages postés 4 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 janvier 2008 - 16 janv. 2008 à 10:11
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre 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.

4 réponses

DJVince91 Messages postés 4 Date d'inscription jeudi 11 octobre 2007 Statut Membre Dernière intervention 22 janvier 2008
16 janv. 2008 à 13:35
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 !!!
3
Utilisateur anonyme
16 janv. 2008 à 12:54
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.
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
16 janv. 2008 à 13:19
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)
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
16 janv. 2008 à 16:55
Francky> J'ai déplacé le message sur le bon forum entre temps ;-)


<hr />
-My Blog-
0
Rejoignez-nous