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

DJVince91 4 Messages postés jeudi 11 octobre 2007Date d'inscription 22 janvier 2008 Dernière intervention - 16 janv. 2008 à 10:11 - Dernière réponse : cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention
- 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 

Votre réponse

4 réponses

Meilleure réponse
DJVince91 4 Messages postés jeudi 11 octobre 2007Date d'inscription 22 janvier 2008 Dernière intervention - 16 janv. 2008 à 13:35
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 !!!

Merci DJVince91 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 126 internautes ce mois-ci

Commenter la réponse de DJVince91
Utilisateur anonyme - 16 janv. 2008 à 12:54
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
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 16 janv. 2008 à 13:19
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
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 16 janv. 2008 à 16:55
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.