Je voudrai lancer en tache periodique l'execution d'une page php (stats) et
stocker celle-ci dans un fichier. Ce fichier sera récupéré par un ftp de
temps à autre.
lancer la page, avec le planificateur pas de pb, mais la sauvegarder sous un
nom et quitter ???
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
Sebastian 'CrashandDie' Lauwers
Harry Covert wrote:
Bonjour
Bonsoir,
Je voudrai lancer en tache periodique l'execution d'une page php (stats) et stocker celle-ci dans un fichier. Ce fichier sera récupéré par un ftp de temps à autre.
Ok, classique, faites quand même gaffe à ne pas refaire les stats toutes les 10 minutes...
lancer la page, avec le planificateur pas de pb, mais la sauvegarder sous un nom et quitter ???
Le planificateur, c'est sous Windows non? Sous linux je dirais les Crons... Si vous n'avez pas les crons sur la machine de production, ce site devrait pouvoir vous aider en un premier temps <http://www.webcron.org>, certes c'est loin d'être parfait, et on préfèrerait de loin un vrai cron, mais quand y'a pas, y'a pas...
En ce qui concerne l'écriture dans un fichier, une simple lecture du manuel (ou googleienne) aurait suffit...
Ouvrir un fichier: Anglais: http://www.php.net/manual/en/function.fopen.php Français: http://www.php.net/manual/fr/function.fopen.php
Ecrire dans un fichier: Anglais: http://www.php.net/manual/en/function.fwrite.php Français: http://www.php.net/manual/fr/function.fwrite.php
Fermer le fichier: Anglais: http://www.php.net/manual/en/function.fclose.php Français: http://www.php.net/manual/fr/function.fclose.php
merci de votre aide
eqça
S.
*sent que y'a au moins 30 personnes qui ont posté le même truc... Pour une fois qu'il vient sur le NG*
Harry Covert wrote:
Bonjour
Bonsoir,
Je voudrai lancer en tache periodique l'execution d'une page php (stats) et
stocker celle-ci dans un fichier. Ce fichier sera récupéré par un ftp de
temps à autre.
Ok, classique, faites quand même gaffe à ne pas refaire les stats toutes
les 10 minutes...
lancer la page, avec le planificateur pas de pb, mais la sauvegarder sous un
nom et quitter ???
Le planificateur, c'est sous Windows non? Sous linux je dirais les
Crons... Si vous n'avez pas les crons sur la machine de production, ce
site devrait pouvoir vous aider en un premier temps
<http://www.webcron.org>, certes c'est loin d'être parfait, et on
préfèrerait de loin un vrai cron, mais quand y'a pas, y'a pas...
En ce qui concerne l'écriture dans un fichier, une simple lecture du
manuel (ou googleienne) aurait suffit...
Ouvrir un fichier:
Anglais: http://www.php.net/manual/en/function.fopen.php
Français: http://www.php.net/manual/fr/function.fopen.php
Ecrire dans un fichier:
Anglais: http://www.php.net/manual/en/function.fwrite.php
Français: http://www.php.net/manual/fr/function.fwrite.php
Fermer le fichier:
Anglais: http://www.php.net/manual/en/function.fclose.php
Français: http://www.php.net/manual/fr/function.fclose.php
merci de votre aide
eqça
S.
*sent que y'a au moins 30 personnes qui ont posté le même truc... Pour
une fois qu'il vient sur le NG*
Je voudrai lancer en tache periodique l'execution d'une page php (stats) et stocker celle-ci dans un fichier. Ce fichier sera récupéré par un ftp de temps à autre.
Ok, classique, faites quand même gaffe à ne pas refaire les stats toutes les 10 minutes...
lancer la page, avec le planificateur pas de pb, mais la sauvegarder sous un nom et quitter ???
Le planificateur, c'est sous Windows non? Sous linux je dirais les Crons... Si vous n'avez pas les crons sur la machine de production, ce site devrait pouvoir vous aider en un premier temps <http://www.webcron.org>, certes c'est loin d'être parfait, et on préfèrerait de loin un vrai cron, mais quand y'a pas, y'a pas...
En ce qui concerne l'écriture dans un fichier, une simple lecture du manuel (ou googleienne) aurait suffit...
Ouvrir un fichier: Anglais: http://www.php.net/manual/en/function.fopen.php Français: http://www.php.net/manual/fr/function.fopen.php
Ecrire dans un fichier: Anglais: http://www.php.net/manual/en/function.fwrite.php Français: http://www.php.net/manual/fr/function.fwrite.php
Fermer le fichier: Anglais: http://www.php.net/manual/en/function.fclose.php Français: http://www.php.net/manual/fr/function.fclose.php
merci de votre aide
eqça
S.
*sent que y'a au moins 30 personnes qui ont posté le même truc... Pour une fois qu'il vient sur le NG*
Sebastian 'CrashandDie' Lauwers
Sebastian 'CrashandDie' Lauwers wrote:
Harry Covert wrote:
Je voudrai lancer en tache periodique l'execution d'une page php (stats) et stocker celle-ci dans un fichier. Ce fichier sera récupéré par un ftp de temps à autre.
Ok, classique,
Bon, je me permets d'apporter plus de précisions à ce que je viens de dire.
Si vous voulez, par exemple, faire tel un "Fichier/Enregistrer sous", je vous conseillerais d'utiliser ob_* (le output buffering/cache de sortie).
Le cache de sortie va garder en mémoire tout ce qui était censé être émis vers le client. Le output buffer attend qu'on lui donne le signal de tout envoyer vers le client (ou d'utiliser une autre fonction ob_*). Rien n'est envoyé vers le client tant qu'on ne lui dis pas. Ceci peut être utilisé si jamais on doit faire un header spécifique dans la page (bon ok, c'est pas la meilleure façon de coder, mais on a déjà vu pire).
Une des fonctions qui pourrait vous interesser c'est ob_get_flush (): Anglais: http://fr2.php.net/manual/en/function.ob-get-flush.php Français: http://fr2.php.net/manual/fr/function.ob-get-flush.php
Cette fonction retourne tout ce qui a été mis en cache jusqu'à l'appel de la fonction, et le retourne tel un string. On peut donc utiliser une variable pour obtenir le cache.
Exemple:
<?php
ob_start ();
echo '<html><body>Pleins de trucs à afficher</body></html>'; // Notez que rien n'est envoyé au client à ce point
$contenu = ob_get_flush ();
/* * On écrit le contenu dans le fichier, notez que cette fonction * n'existe *QUE SOUS PHP5*. * Référrez vous aux fonctions citées dans mon autre message pour * de plus amples informations sur l'écriture dans un fichier sous * PHP4... */ file_put_contents ('monfichier.htm', $contenu);
// Comme je suis de bonne humeur je donne l'équivalent sous PHP4 $monfichier = fopen ('monfichier_2.htm', "w+"); fwrite ($monfichier, $contenu); fclose ($monfichier);
?>
*sent que y'a au moins 30 personnes qui ont posté le même truc... Pour une fois qu'il vient sur le NG*
Bon bha non :)
Amicalement, Sebastian
Sebastian 'CrashandDie' Lauwers wrote:
Harry Covert wrote:
Je voudrai lancer en tache periodique l'execution d'une page php
(stats) et
stocker celle-ci dans un fichier. Ce fichier sera récupéré par un ftp de
temps à autre.
Ok, classique,
Bon, je me permets d'apporter plus de précisions à ce que je viens de dire.
Si vous voulez, par exemple, faire tel un "Fichier/Enregistrer sous", je
vous conseillerais d'utiliser ob_* (le output buffering/cache de sortie).
Le cache de sortie va garder en mémoire tout ce qui était censé être
émis vers le client. Le output buffer attend qu'on lui donne le signal
de tout envoyer vers le client (ou d'utiliser une autre fonction ob_*).
Rien n'est envoyé vers le client tant qu'on ne lui dis pas. Ceci peut
être utilisé si jamais on doit faire un header spécifique dans la page
(bon ok, c'est pas la meilleure façon de coder, mais on a déjà vu pire).
Une des fonctions qui pourrait vous interesser c'est ob_get_flush ():
Anglais: http://fr2.php.net/manual/en/function.ob-get-flush.php
Français: http://fr2.php.net/manual/fr/function.ob-get-flush.php
Cette fonction retourne tout ce qui a été mis en cache jusqu'à l'appel
de la fonction, et le retourne tel un string. On peut donc utiliser une
variable pour obtenir le cache.
Exemple:
<?php
ob_start ();
echo '<html><body>Pleins de trucs à afficher</body></html>';
// Notez que rien n'est envoyé au client à ce point
$contenu = ob_get_flush ();
/*
* On écrit le contenu dans le fichier, notez que cette fonction
* n'existe *QUE SOUS PHP5*.
* Référrez vous aux fonctions citées dans mon autre message pour
* de plus amples informations sur l'écriture dans un fichier sous
* PHP4...
*/
file_put_contents ('monfichier.htm', $contenu);
// Comme je suis de bonne humeur je donne l'équivalent sous PHP4
$monfichier = fopen ('monfichier_2.htm', "w+");
fwrite ($monfichier, $contenu);
fclose ($monfichier);
?>
*sent que y'a au moins 30 personnes qui ont posté le même truc... Pour
une fois qu'il vient sur le NG*
Je voudrai lancer en tache periodique l'execution d'une page php (stats) et stocker celle-ci dans un fichier. Ce fichier sera récupéré par un ftp de temps à autre.
Ok, classique,
Bon, je me permets d'apporter plus de précisions à ce que je viens de dire.
Si vous voulez, par exemple, faire tel un "Fichier/Enregistrer sous", je vous conseillerais d'utiliser ob_* (le output buffering/cache de sortie).
Le cache de sortie va garder en mémoire tout ce qui était censé être émis vers le client. Le output buffer attend qu'on lui donne le signal de tout envoyer vers le client (ou d'utiliser une autre fonction ob_*). Rien n'est envoyé vers le client tant qu'on ne lui dis pas. Ceci peut être utilisé si jamais on doit faire un header spécifique dans la page (bon ok, c'est pas la meilleure façon de coder, mais on a déjà vu pire).
Une des fonctions qui pourrait vous interesser c'est ob_get_flush (): Anglais: http://fr2.php.net/manual/en/function.ob-get-flush.php Français: http://fr2.php.net/manual/fr/function.ob-get-flush.php
Cette fonction retourne tout ce qui a été mis en cache jusqu'à l'appel de la fonction, et le retourne tel un string. On peut donc utiliser une variable pour obtenir le cache.
Exemple:
<?php
ob_start ();
echo '<html><body>Pleins de trucs à afficher</body></html>'; // Notez que rien n'est envoyé au client à ce point
$contenu = ob_get_flush ();
/* * On écrit le contenu dans le fichier, notez que cette fonction * n'existe *QUE SOUS PHP5*. * Référrez vous aux fonctions citées dans mon autre message pour * de plus amples informations sur l'écriture dans un fichier sous * PHP4... */ file_put_contents ('monfichier.htm', $contenu);
// Comme je suis de bonne humeur je donne l'équivalent sous PHP4 $monfichier = fopen ('monfichier_2.htm', "w+"); fwrite ($monfichier, $contenu); fclose ($monfichier);
?>
*sent que y'a au moins 30 personnes qui ont posté le même truc... Pour une fois qu'il vient sur le NG*