GNT sans publicité, site mobile, fonctionnalitées exclusives...

Rediriger la sortie de "echo"

Le
JCF
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é
Lire les 10 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vincent Courcelle
Le #539039
"JCF" 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
Le #542112
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.

Alexandre Havard
Le #542114
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

Nudrema
Le #542115
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

simOn
Le #542116
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......

fwrite();
http://www.nexen.net/docs/php/annot...fwrite.php



Sivoplé


Publicité
Suivre les réponses
Poster une réponse
Anonyme