Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard
(le document HTML en utilisation web), je voudrais pouvoir en changer la
destiniation "à la volée"...
Dans le principe, un truc du genre :
echo "Ceci sort vers le document Web";
$monFichier = fopen("toto.txt",w);
$_STDOUT = $monFichier; // j'invente là...
echo "Maintenant, ceci sort vers le fichier toto.txt";
$_STDOUT = $_WEB; // 'pis là aussi
echo "Vers le document WEB";
etc...
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand
même avoir l'avis d'autres personnes, des spécialistes,
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Vincent Courcelle
"JCF" a écrit dans le message de news:403fd42c$0$28123$
Bon, v'là mon casse tête du jour :-/ ,
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
Dans le principe, un truc du genre :
echo "Ceci sort vers le document Web"; $monFichier = fopen("toto.txt",w); $_STDOUT = $monFichier; // j'invente là... echo "Maintenant, ceci sort vers le fichier toto.txt"; $_STDOUT = $_WEB; // 'pis là aussi echo "Vers le document WEB";
si ça concerne tout ce qui est généré dans une page, tu peux t'en tirer avec ob_gzhandler("nomdefonction") puis : function nomdefonction($texte) { $open=fopen("toto.txt","w"); fputs($open,$texte); fclose($open); }
(de mémoire)
"JCF" <_no_pouriel_@free.fr> a écrit dans le message de
news:403fd42c$0$28123$636a15ce@news.free.fr...
Bon, v'là mon casse tête du jour :-/ ,
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard
(le document HTML en utilisation web), je voudrais pouvoir en changer la
destiniation "à la volée"...
Dans le principe, un truc du genre :
echo "Ceci sort vers le document Web";
$monFichier = fopen("toto.txt",w);
$_STDOUT = $monFichier; // j'invente là...
echo "Maintenant, ceci sort vers le fichier toto.txt";
$_STDOUT = $_WEB; // 'pis là aussi
echo "Vers le document WEB";
si ça concerne tout ce qui est généré dans une page, tu peux t'en tirer avec
ob_gzhandler("nomdefonction")
puis :
function nomdefonction($texte)
{
$open=fopen("toto.txt","w");
fputs($open,$texte);
fclose($open);
}
"JCF" a écrit dans le message de news:403fd42c$0$28123$
Bon, v'là mon casse tête du jour :-/ ,
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
Dans le principe, un truc du genre :
echo "Ceci sort vers le document Web"; $monFichier = fopen("toto.txt",w); $_STDOUT = $monFichier; // j'invente là... echo "Maintenant, ceci sort vers le fichier toto.txt"; $_STDOUT = $_WEB; // 'pis là aussi echo "Vers le document WEB";
si ça concerne tout ce qui est généré dans une page, tu peux t'en tirer avec ob_gzhandler("nomdefonction") puis : function nomdefonction($texte) { $open=fopen("toto.txt","w"); fputs($open,$texte); fclose($open); }
(de mémoire)
Guillaume Bouchard
JCF wrote:
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand même avoir l'avis d'autres personnes, des spécialistes,
Mauvaise conclusion. Php sait tout faire, meme le café ( mais bon, il est degeu :))
http://www.php.net/ob_start
-- Guillaume.
JCF wrote:
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard
(le document HTML en utilisation web), je voudrais pouvoir en changer la
destiniation "à la volée"...
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand
même avoir l'avis d'autres personnes, des spécialistes,
Mauvaise conclusion. Php sait tout faire, meme le café ( mais bon, il
est degeu :))
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand même avoir l'avis d'autres personnes, des spécialistes,
Mauvaise conclusion. Php sait tout faire, meme le café ( mais bon, il est degeu :))
http://www.php.net/ob_start
-- Guillaume.
Alexandre Havard
JCF wrote:
$monFichier = fopen("toto.txt",w); $_STDOUT = $monFichier; // j'invente là... echo "Maintenant, ceci sort vers le fichier toto.txt";
Pourquoi ne pas utiliser la fonction fwrite qui est faite pour ça ? (http://php.net/fwrite)
-- Alexandre Havard Game Over - 1er salon du jeu sur plate-forme libre Les 9 et 10 Avril 2004, à Limoges - http://game-over.eu.org
JCF wrote:
$monFichier = fopen("toto.txt",w);
$_STDOUT = $monFichier; // j'invente là...
echo "Maintenant, ceci sort vers le fichier toto.txt";
Pourquoi ne pas utiliser la fonction fwrite qui est faite pour ça ?
(http://php.net/fwrite)
--
Alexandre Havard
Game Over - 1er salon du jeu sur plate-forme libre
Les 9 et 10 Avril 2004, à Limoges - http://game-over.eu.org
$monFichier = fopen("toto.txt",w); $_STDOUT = $monFichier; // j'invente là... echo "Maintenant, ceci sort vers le fichier toto.txt";
Pourquoi ne pas utiliser la fonction fwrite qui est faite pour ça ? (http://php.net/fwrite)
-- Alexandre Havard Game Over - 1er salon du jeu sur plate-forme libre Les 9 et 10 Avril 2004, à Limoges - http://game-over.eu.org
Nudrema
JCF wrote:
Bon, v'là mon casse tête du jour :-/ ,
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
Dans le principe, un truc du genre :
echo "Ceci sort vers le document Web"; $monFichier = fopen("toto.txt",w); $_STDOUT = $monFichier; // j'invente là... echo "Maintenant, ceci sort vers le fichier toto.txt"; $_STDOUT = $_WEB; // 'pis là aussi echo "Vers le document WEB";
etc...
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand même avoir l'avis d'autres personnes, des spécialistes,
Sivoplé
Tu pourrais utiliser les fonctions ob_* et la bufferisation. Si tu veux écrire dans un fichier plutôt que chez le client, tu récupères le contenu du buffer via ob_get_contents() et tu l'écris de façon classique...
Sinon, on peut avoir des pointeurs de fichiers STDOUT avec php, via le protocole 'php:', voir sur la page de http://php.net/fopen. Tu pourrais peut-être alors utiliser fwrite() à la place de echo, quel que soit la destination de ton contenu...
-- Nudrema (S.F.) http://tw.o0o.ch
JCF wrote:
Bon, v'là mon casse tête du jour :-/ ,
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard
(le document HTML en utilisation web), je voudrais pouvoir en changer la
destiniation "à la volée"...
Dans le principe, un truc du genre :
echo "Ceci sort vers le document Web";
$monFichier = fopen("toto.txt",w);
$_STDOUT = $monFichier; // j'invente là...
echo "Maintenant, ceci sort vers le fichier toto.txt";
$_STDOUT = $_WEB; // 'pis là aussi
echo "Vers le document WEB";
etc...
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand
même avoir l'avis d'autres personnes, des spécialistes,
Sivoplé
Tu pourrais utiliser les fonctions ob_* et la bufferisation. Si
tu veux écrire dans un fichier plutôt que chez le client, tu
récupères le contenu du buffer via ob_get_contents() et tu
l'écris de façon classique...
Sinon, on peut avoir des pointeurs de fichiers STDOUT avec php,
via le protocole 'php:', voir sur la page de
http://php.net/fopen. Tu pourrais peut-être alors utiliser
fwrite() à la place de echo, quel que soit la destination de ton
contenu...
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
Dans le principe, un truc du genre :
echo "Ceci sort vers le document Web"; $monFichier = fopen("toto.txt",w); $_STDOUT = $monFichier; // j'invente là... echo "Maintenant, ceci sort vers le fichier toto.txt"; $_STDOUT = $_WEB; // 'pis là aussi echo "Vers le document WEB";
etc...
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand même avoir l'avis d'autres personnes, des spécialistes,
Sivoplé
Tu pourrais utiliser les fonctions ob_* et la bufferisation. Si tu veux écrire dans un fichier plutôt que chez le client, tu récupères le contenu du buffer via ob_get_contents() et tu l'écris de façon classique...
Sinon, on peut avoir des pointeurs de fichiers STDOUT avec php, via le protocole 'php:', voir sur la page de http://php.net/fopen. Tu pourrais peut-être alors utiliser fwrite() à la place de echo, quel que soit la destination de ton contenu...
-- Nudrema (S.F.) http://tw.o0o.ch
simOn
JCF wrote:
J'en suis arrivé à la conclusion que c'est impossible, mais j'aimerais quand même avoir l'avis d'autres personnes, des spécialistes,
faut savoir communiquer à son interlocuteur avec les bons outils......
Super ! Je ne conaissais pas trop l'intérêt de contrôler la bufferisation de sortie, et je ne m'en suis donc pas plus intéressé, mais finalement ça va peut-être être la solution !
Pourquoi je n'utilise pas fwrite à la place : parce que dans 95% des cas, j'envoi du texte directement au client avec "echo", alors que dans les 5% restant, j'envoi du texte au client avec "echo" lorsque je suis en phase de développement, ou alors je lance un script qui modifie mes script pour que, à la première éxecution, ils génèrent des fichiers caches (pour éviter de faire des accès MySQL et du traitement qui abouti toujours au même résultat) et s'automodifie pour remplacer la-dite section par un simple require !
C'est un peu tordu, et la faisabilité reste à prouver, mais je crois que je devrais y arriver... maintenant.
Je vais creuser à nouveau la question.
Merci pour vos réponses !
Super ! Je ne conaissais pas trop l'intérêt de contrôler la bufferisation de
sortie, et je ne m'en suis donc pas plus intéressé, mais finalement ça va
peut-être être la solution !
Pourquoi je n'utilise pas fwrite à la place :
parce que dans 95% des cas, j'envoi du texte directement au client avec
"echo", alors que dans les 5% restant, j'envoi du texte au client avec
"echo" lorsque je suis en phase de développement, ou alors je lance un
script qui modifie mes script pour que, à la première éxecution, ils
génèrent des fichiers caches (pour éviter de faire des accès MySQL et du
traitement qui abouti toujours au même résultat) et s'automodifie pour
remplacer la-dite section par un simple require !
C'est un peu tordu, et la faisabilité reste à prouver, mais je crois que je
devrais y arriver... maintenant.
Super ! Je ne conaissais pas trop l'intérêt de contrôler la bufferisation de sortie, et je ne m'en suis donc pas plus intéressé, mais finalement ça va peut-être être la solution !
Pourquoi je n'utilise pas fwrite à la place : parce que dans 95% des cas, j'envoi du texte directement au client avec "echo", alors que dans les 5% restant, j'envoi du texte au client avec "echo" lorsque je suis en phase de développement, ou alors je lance un script qui modifie mes script pour que, à la première éxecution, ils génèrent des fichiers caches (pour éviter de faire des accès MySQL et du traitement qui abouti toujours au même résultat) et s'automodifie pour remplacer la-dite section par un simple require !
C'est un peu tordu, et la faisabilité reste à prouver, mais je crois que je devrais y arriver... maintenant.
Je vais creuser à nouveau la question.
Merci pour vos réponses !
Jean-Marc Molina
ils génèrent des fichiers caches (pour éviter de faire des accès MySQL et du
traitement qui abouti toujours au même résultat) et s'automodifie pour remplacer la-dite section par un simple require !
Tout à faire j'utilise les fonctions ob_* pour générer des pages HTML à partir de gabarits. Comme le contenu ne change que lors des mises à jour, les pages ne sont regénérées qu'en cas de modification.
Par contre en faisant un bench on se rend vite compte que la génération des pages est bien plus longues. D'où l'intérêt d'utiliser ces fonctions pour générer des pages statiques.
C'est un peu tordu, et la faisabilité reste à prouver, mais je crois que je
devrais y arriver... maintenant.
100% testé et approuvé. L'avantage c'est de pouvoir utiliser un gabarit HTML qui contient du PHP, sans passer par vos « foutus » echo à la mort moi le noeud :D. Balise <?= ?> oblige.
JM
ils
génèrent des fichiers caches (pour éviter de faire des accès MySQL et du
traitement qui abouti toujours au même résultat) et s'automodifie pour
remplacer la-dite section par un simple require !
Tout à faire j'utilise les fonctions ob_* pour générer des pages HTML à
partir de gabarits. Comme le contenu ne change que lors des mises à jour,
les pages ne sont regénérées qu'en cas de modification.
Par contre en faisant un bench on se rend vite compte que la génération des
pages est bien plus longues. D'où l'intérêt d'utiliser ces fonctions pour
générer des pages statiques.
C'est un peu tordu, et la faisabilité reste à prouver, mais je crois que
je
devrais y arriver... maintenant.
100% testé et approuvé. L'avantage c'est de pouvoir utiliser un gabarit HTML
qui contient du PHP, sans passer par vos « foutus » echo à la mort moi le
noeud :D. Balise <?= ?> oblige.
ils génèrent des fichiers caches (pour éviter de faire des accès MySQL et du
traitement qui abouti toujours au même résultat) et s'automodifie pour remplacer la-dite section par un simple require !
Tout à faire j'utilise les fonctions ob_* pour générer des pages HTML à partir de gabarits. Comme le contenu ne change que lors des mises à jour, les pages ne sont regénérées qu'en cas de modification.
Par contre en faisant un bench on se rend vite compte que la génération des pages est bien plus longues. D'où l'intérêt d'utiliser ces fonctions pour générer des pages statiques.
C'est un peu tordu, et la faisabilité reste à prouver, mais je crois que je
devrais y arriver... maintenant.
100% testé et approuvé. L'avantage c'est de pouvoir utiliser un gabarit HTML qui contient du PHP, sans passer par vos « foutus » echo à la mort moi le noeud :D. Balise <?= ?> oblige.
JM
JCF
Héhé !
C'est raté sur ce coup là :o) : je n'utilise que des échos, et aucun gabarit... Vue que la portion de HTML dans mes fichiers PHP ne réprésente que... 20%, et encore, elle même truffé de variable PHP, j'opte pour la solution "tout code". Il m'arrive toutefois d'inclure des sections HTML pures dans le fichier si la portion de code ne contient pas de variable et > à 4 lignes...
Pour le contenu "statique issu de calcul post mise à jour", je vais utiliser ma méthode précité.
Héhé !
C'est raté sur ce coup là :o) : je n'utilise que des échos, et aucun
gabarit... Vue que la portion de HTML dans mes fichiers PHP ne réprésente
que... 20%, et encore, elle même truffé de variable PHP, j'opte pour la
solution "tout code". Il m'arrive toutefois d'inclure des sections HTML
pures dans le fichier si la portion de code ne contient pas de variable et >
à 4 lignes...
Pour le contenu "statique issu de calcul post mise à jour", je vais utiliser
ma méthode précité.
C'est raté sur ce coup là :o) : je n'utilise que des échos, et aucun gabarit... Vue que la portion de HTML dans mes fichiers PHP ne réprésente que... 20%, et encore, elle même truffé de variable PHP, j'opte pour la solution "tout code". Il m'arrive toutefois d'inclure des sections HTML pures dans le fichier si la portion de code ne contient pas de variable et > à 4 lignes...
Pour le contenu "statique issu de calcul post mise à jour", je vais utiliser ma méthode précité.
Nicklas
Le Sat, 28 Feb 2004 09:40:50 +0000, JCF a écrit :
Bon, v'là mon casse tête du jour :-/ ,
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
Peut-être que mon petit tuto sur les systèmes de cache peut te servir. Je t'invite à le consulter.
J'espère que tu trouveras ce que tu cherches, ou en partie.
-- Nicklas ProgWeb - Développer son site Internet http://www.progweb.com
Le Sat, 28 Feb 2004 09:40:50 +0000, JCF a écrit :
Bon, v'là mon casse tête du jour :-/ ,
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard
(le document HTML en utilisation web), je voudrais pouvoir en changer la
destiniation "à la volée"...
Peut-être que mon petit tuto sur les systèmes de cache peut
te servir. Je t'invite à le consulter.
Alors que la pseudo fonction "echo" envoi du texte vers la sortie standard (le document HTML en utilisation web), je voudrais pouvoir en changer la destiniation "à la volée"...
Peut-être que mon petit tuto sur les systèmes de cache peut te servir. Je t'invite à le consulter.