[résolu] Enchaîner la visite de pages web


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

[résolu] Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 15:42

Bonjour,

La question pourra paraître bête à certains mais je ne sais pas comment faire...

Je fais la mise à jour de mon site en enchaînant l’exécution de plusieurs pages .php (qui modifient mes tables sql).
Je souhaite faire un script qui executent à la suite chacune de ces pages, séparées par un sleep (une bonne quinzaine...).

Comment écrire un script qui "exécute" automatiquement plusieurs pages les unes après les autres ?

Merci d'avance !

OTP


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 808
Inscription: 15 Avr 2007

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 16:12

P'têtre ça :


Code: Tout sélectionner
<?php

$scripts = array(
   'script1.php',
   'script2.php',
   'script3.php',
);

foreach($scripts as $script) {
   include($script);
   sleep(15);
}


edit: mwai, c'est pas top, suffit que tu fasse un "exit()" dans un des scripts pour que ça s'arrête.
faudrait p'têtre faire des file_get_contents() sur les url :

Code: Tout sélectionner
<?php

$scripts = array(
   'http://example.com/script1.php',
   'http://example.com/script2.php',
   'http://example.com/script3.php',
);

foreach($scripts as $script) {
   set_time_limit(0); // ne fonctionne pas toujours en mutualisé
   /* echo */ file_get_contents($script); // echo si tu veux afficher les réponses des scripts
   sleep(15);
}
Dernière édition par seebz le Dim Nov 21, 2010 16:23, édité 2 fois.


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 16:14

Rho, t'as oublié le ?> ! ;)

Merci, je vais tester ça.

OTP


reglisse
WRInaute passionné
WRInaute passionné
 
Messages: 1073
Inscription: 15 Nov 2005

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 16:17

perso j'utilise une redirection je fais une requête avec un LIMIT $k,$p et j'incremente le $k

édit : à la lecture de la réponse précédente j'ai lu trop vite la question :D


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 808
Inscription: 15 Avr 2007

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 16:21

Oui, les redirections, ca peut le faire, avec la meta y a même moyen de spécifier le délai avant redirection.

Ca résoudrait le problème éventuel de "time limit" / "max execution time" en php


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 16:24

C'est quoi le souci avec l'exit ?

Acerouk
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 416
Inscription: 16 Fév 2008

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 16:40

J'utilise la meta refresh en y passant en paramètre le nom de la prochaine page.
Un truc perso qui marche pour moi, je ne sais pas s'il y a des contres indications...


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1765
Inscription: 31 Aoû 2007

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 17:02

Si tu es en dédié et que tes scripts sont executable en console, ça peut être utile :
Code: Tout sélectionner
for file in `ls /home/la/où/sont/tes/scripts/`; do php -f $file; sleep 2; done

Si tu dois les "pinguer":
Code: Tout sélectionner
for file in `ls /home/la/où/sont/tes/scripts/`; do curl -I http://tonsite.com/${file}; sleep 2; done

(Pas sûr du ${file} à tester).

forummp3
WRInaute passionné
WRInaute passionné
 
Messages: 1982
Inscription: 8 Fév 2004

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 18:37

tu fait une boucle en php/js pour mettre tes pages en iframe.

puis tu ouvre cette page dans un navigateur.


Zecat
WRInaute accro
WRInaute accro
 
Messages: 11994
Inscription: 1 Mar 2005

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 19:40

les pages a enchainer dans un array (session)
un refresh de array[0]
et delete de la premiere ligne a chaque fois


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 21:33

seebz a écrit:P'têtre ça :


Code: Tout sélectionner
<?php

$scripts = array(
   'script1.php',
   'script2.php',
   'script3.php',
);

foreach($scripts as $script) {
   include($script);
   sleep(15);
}


Ca marche, merci


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 808
Inscription: 15 Avr 2007

Re: [résolu] Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 22:06

Fait quand même attention car le jour où la durée d'exécution totale de tes scripts dépasseront la valeur définie à max_execution_time (dans php.ini), ton script s'arrêtera avant la fin.
(A noter que les pauses ne "compte" pas)

Si ton hébergeur le permet, un set_time_limit(0) placé au début du script résoudrai aussi le problème.


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: [résolu] Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 22:08

Comment on fait déjà pour voir cette valeur ?


seebz
WRInaute impliqué
WRInaute impliqué
 
Messages: 808
Inscription: 15 Avr 2007

Re: [résolu] Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 22:16

Avec ini_get() ;)

essaye ce script, ca te permettra aussi de savoir si tu peux modifier cette valeur :
Code: Tout sélectionner
<?php

echo 'max_execution_time : ' , ini_get('max_execution_time'), '<br>';

set_time_limit(123);

echo '"new" max_execution_time : ' , ini_get('max_execution_time'), '<br>';


spout
WRInaute accro
WRInaute accro
 
Messages: 4378
Inscription: 14 Mai 2003

Re: [résolu] Enchaîner la visite de pages web

Message le Dim Nov 21, 2010 22:17

Code: Tout sélectionner
<?php
echo ini_get('max_execution_time');
?>


Edit: grillé

[résolu] Enchaîner la visite de pages web

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités