par
Ripat » 09 déc. 2006, 09:50
En passant par un fichier intermediaire ca fonctionne mais dans ce cas je ne peux pas passer de paramêtres à mon fichier php.
Car ce fichier php qui doit être lançé, execute une requête de selection sur un identifiant recuperé par la methode GET.
Je ne pense pas que tu puisses lancer ta commande vers
at comme ça. Soit tu la mets dans un fichier comme indiqué plus haut, soit:
Si tu ne veux pas travailler avec des fichiers intermédiaires, la solution est de "piper" la commande dans at.
Code : Tout sélectionner
echo "wget 'http://ton-site/page.php'" | at 08:20 2006-12-06'
Mais, comme l'a fait remarquer Naholyr, attention de bien protéger ton url pour éviter l'interprétation du & par le shell.
Enfin, à chaque fois que tu invoques wget, il va, par défaut, écrire le resultat de la page dans un fichier qui portera le nom de la page. Si ton script tourne souvent, tu vas te retrouver avec de nombreux fichiers inutiles. Utilise l'option
-O- (
-O Output vers
- rien)
Donc, au final, dans PHP ça devrait donner:
exec ('echo "wget -O- \'http://domain.tld/script.php?a=1&b=2\'" | at 08:20 2006-12-06');
// ou bien
exec ("$(wget -O- 'http://domain.tld/script.php?a=1&b=2') | at 08:20 2006-12-06");
[quote="Mickey01"]En passant par un fichier intermediaire ca fonctionne mais dans ce cas je ne peux pas passer de paramêtres à mon fichier php.
Car ce fichier php qui doit être lançé, execute une requête de selection sur un identifiant recuperé par la methode GET.[/quote]
Je ne pense pas que tu puisses lancer ta commande vers [b]at[/b] comme ça. Soit tu la mets dans un fichier comme indiqué plus haut, soit:
[code]at 21:24 2006-12-7 < /chemin/vers/tonFichierDeCommande[/code]
Si tu ne veux pas travailler avec des fichiers intermédiaires, la solution est de "piper" la commande dans at.
[code]echo "wget 'http://ton-site/page.php'" | at 08:20 2006-12-06'[/code]
Mais, comme l'a fait remarquer Naholyr, attention de bien protéger ton url pour éviter l'interprétation du & par le shell.
Enfin, à chaque fois que tu invoques wget, il va, par défaut, écrire le resultat de la page dans un fichier qui portera le nom de la page. Si ton script tourne souvent, tu vas te retrouver avec de nombreux fichiers inutiles. Utilise l'option [b]-O-[/b] ([b]-O[/b] Output vers [b]-[/b] rien)
Donc, au final, dans PHP ça devrait donner:
[php]exec ('echo "wget -O- \'http://domain.tld/script.php?a=1&b=2\'" | at 08:20 2006-12-06');
// ou bien
exec ("$(wget -O- 'http://domain.tld/script.php?a=1&b=2') | at 08:20 2006-12-06");
[/php]