[PHP] Insérer le contenu entier d'une page HTML dans une chaine

Insérer le contenu entier d'une page HTML dans une chaine [PHP] - PHP - Programmation

Marsh Posté le 18-02-2005 à 12:18:22    

Bonjour à tous,
 
Je cherche à passer tout le contenu d'une page html que je crée dans une unique chaîne de caractère.
 
Explications :
Il faut que j'envoie un mail dont le contenu est entièrement au format html, or la fonction mail de php n'accepte qu'une chaine de caractères message en paramètre donc voilà !
 
Bref, je ne vois pas trop comment insérer (assez simplement, sans avoir à faire des multiples concaténations de chaîne, quoi) tout le contenu d'une bonne grosse page html dans une simple chaine  :heink:  
 
Si quelqu'un a une idée, merci d'avance :hello:


---------------
Sans ma barbe, quelle barbe !
Reply

Marsh Posté le 18-02-2005 à 12:18:22   

Reply

Marsh Posté le 18-02-2005 à 12:19:26    

Renseigne-toi sur la fonction get_file_content

Reply

Marsh Posté le 18-02-2005 à 12:20:37    

pour insérer tout le contenu d'une bonne grosse page html dans une simple chaine, je ne vois qu'une solution !
 
file_get_contents();
 
[:dawa]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 18-02-2005 à 12:21:27    

grilled
 
http://www.apave.com/france/loc/img/quePuisJe/fiche/2002228113042C4r4.jpg


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 18-02-2005 à 12:22:56    

oh ! un BBQ [:miam]


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 18-02-2005 à 12:28:00    

up!


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 18-02-2005 à 12:31:51    

simogeo a écrit :

pour insérer tout le contenu d'une bonne grosse page html dans une simple chaine, je ne vois qu'une solution !
 
file_get_contents();
 
[:dawa]


 
Ok merci !!! Mais le problème est que je ne vais pas pouvoir passer ma page php dans file_get_contents() puisque le code doit être interprêté.  
Du coup j'en arrive à me demander s'il existe un moyen "d'exporter" une page php dans une page html une fois qu'elle a été interprétée. Ensuite j'appliquerai donc la fonction file_get_contents() sur cette nouvelle page html.
Je sais pas si j'me fais bien comprendre :/


---------------
Sans ma barbe, quelle barbe !
Reply

Marsh Posté le 18-02-2005 à 12:32:48    

moi pas avoir compris...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 18-02-2005 à 12:36:56    

En fait ça page HTML est généré via PHP, donc faut récupérer le code généré... Ouch...

Reply

Marsh Posté le 18-02-2005 à 12:42:50    

bha par l'url...
 
ou alors si pas disponible via le web

Code :
  1. exec("php mapage.php > genereted.htm" );


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 18-02-2005 à 12:42:50   

Reply

Marsh Posté le 18-02-2005 à 12:56:56    

+10 000


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 18-02-2005 à 13:41:11    

KangOl a écrit :

bha par l'url...
 
ou alors si pas disponible via le web

Code :
  1. exec("php mapage.php > genereted.htm" );



 
J'aime carrément le concept "exec", mais visiblement, ça ne marche pas, même en utilisant :
 
exec(php -f /truc/machin.php?id=truc > mail.htm);
 
Le fichier mail.htm est généré, mais il n'y a rien dedans... Est-ce parce que je transmets des paramètres dans l'url (id, etc.) ?


---------------
Sans ma barbe, quelle barbe !
Reply

Marsh Posté le 18-02-2005 à 13:55:52    

C'est d'autant plus le drame que mon appli (codée en php 4.2, pas moyen de changer pour l'instant) n'accepte pas la fonction file_get_contents() qui ne marche qu'à partir de php 4.3  :cry:


---------------
Sans ma barbe, quelle barbe !
Reply

Marsh Posté le 18-02-2005 à 13:56:33    

faut mettre les arguments apres...

[kangol@siska ScreenShots]$ php -f
Error in argument 1, char 2: no argument for option f
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
       php <file> [args...]
  -a               Run interactively
  -C               Do not chdir to the script's directory
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse <file>.  Implies `-q'
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -q               Quiet-mode.  Suppress HTTP Header output.
  -s               Display colour syntax highlighted source.
  -v               Version number
  -w               Display source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.
[kangol@siska ScreenShots]$


donc

Code :
  1. exec(php machin.php id=truc > mail.htm);


Message édité par KangOl le 18-02-2005 à 13:56:55

---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 18-02-2005 à 13:58:11    

ca revient au même :
 

Code :
  1. $recup = file($txt,1);
  2. $content='';
  3. foreach ($recup as $num_lines => $lines) {
  4. $content.=$lines;
  5. }
  6. echo $content;


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 18-02-2005 à 14:02:44    

simogeo a écrit :

ca revient au même :
 

Code :
  1. $recup = file($txt,1);
  2. $content='';
  3. foreach ($recup as $num_lines => $lines) {
  4. $content.=$lines;
  5. }
  6. echo $content;



Code :
  1. $content = implode("\n",file($txt));

:o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 18-02-2005 à 14:07:16    

ué, peut-être un peu plus rapide et moins verbeux aussi :p
(enfin globalement, ca revient au même [:cupra] )


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 18-02-2005 à 14:15:06    

KangOl a écrit :

faut mettre les arguments apres...

[kangol@siska ScreenShots]$ php -f
Error in argument 1, char 2: no argument for option f
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
       php <file> [args...]
  -a               Run interactively
  -C               Do not chdir to the script's directory
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse <file>.  Implies `-q'
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -q               Quiet-mode.  Suppress HTTP Header output.
  -s               Display colour syntax highlighted source.
  -v               Version number
  -w               Display source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.
[kangol@siska ScreenShots]$


donc

Code :
  1. exec(php machin.php id=truc > mail.htm);



 
Alors j'ai essayé :
 

exec(php machin.php id=truc id2=merdier > mail.htm);


J'ai en effet deux paramètres à passer. Et ça ne marche pas :/
 
Le coup du "file", j'avais déjà essayé, mais il est contre une url qui contient des paramètres (id=truc), lui il veut juste ouvrir un fichier, mais vu que mon fichier a besoin de paramètres, c'est rapé  :cry:


---------------
Sans ma barbe, quelle barbe !
Reply

Marsh Posté le 18-02-2005 à 14:17:19    

http://www.stars-oubliees.com/IMG/arton29.jpg
 
\o/

Reply

Marsh Posté le 18-02-2005 à 14:21:46    

faut mettre ce qui se trouve dans le exec entre quotes
 
et utilise l'option -q ;)


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 18-02-2005 à 14:42:58    


 
 
[:ddr555]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 18-02-2005 à 15:59:09    

La photo, ça fait toujours plaisir :D
 
Sinon j'ai réglé le problème en le contournant par un tout autre moyen.
J'utilise dans ma fonction une chaine qui se remplit au fur et à mesure. Finalement c'était pas trop fastidieux à mettre en place.
 
J'ai juste un souci. Mon site utilise des CSS pour la mise en forme. Le contenu HTML enregistré dans la chaine se base sur ces CSS. Est-il possible de faire comprendre au mail qui sera envoyé (contenant donc l'HTML), d'utiliser ces CSS ?
Ca me parait chaud, mais qui sait, y'a p'tet moyen... Là pour l'instant il s'envoie nickel mais bon c'est tout moche  :p  
En tout cas merci à vous  :hello:


---------------
Sans ma barbe, quelle barbe !
Reply

Marsh Posté le 18-02-2005 à 16:02:07    

en mettant l'url complete de la feuille de style ?
du style ttp://domain.ext/style.css


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 19-02-2005 à 11:31:56    

Un super article sur pompage.net qui fait le point sur l'envoi d'email en HTML :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed