Copier une page distante toutes les 5 min ?

WRInaute passionné
Bonjour,

J'aimerais copier sur mon serveur toutes les 5 min un fichier .xml

Et si le fichier ne répond pas, je ne veux pas qu'il soit écrasé par un fichier vide non plus... comment faire ça en php ?

Merci.
 
WRInaute accro
pas beaucoups de possibilité. ce que tu peux faire, c est stocker la date de génération du fichier, et a a chaque visite ou appel, tu vérifie si la date est supérieure de 5mn, et si oui tu relances la génération. ton fichier xml peut etre appelé d'autres sites ? sinon ils font appel à une page php qui renvoit le fichier si -de 5mn, ou génére et renvoi le fichier si + de 5 mn
 
WRInaute impliqué
Si c'est un fichier distant, un file_get_contents sera ton ami si l'option fopen wrappers est activée. Sinon il faudra passer par fopen. Après avoir récupéré le contenu tu vérifies qu'il n'est pas vide et tu le copies dans un fichier avec fwrites tout ca :)

Le tout dans un cron et le tour est joué ;)
 
WRInaute accro
non, cron.fr ne permet pas de faire toutes les 5mn, c est minimum 1 heure, c est pour ca que je dis "a chaque appel, vérifier si plus de 5 mn"
 
WRInaute impliqué
adoptes la solution du pauvre: declenches ton script lors de l'appel de tes pages (en gerant les delais)
 
WRInaute accro
Oui, +1 pour e-kiwi pour la copie du fichier puisque que tu n'a pas CRON.

Ce que j'avais fais une fois :
- j'appelais à distance un fichier PHP qui mettais à jour le fichier XML (mais moi c'était sur un extranet, donc un iframe permettait de faire ça). Dans ton cas, ça va pas être simple. Mis à part des solutions bidouilles (style ouvrir un popup qui appelle le fichier PHP et qui se referme aussitot), je vois pas trop comment tu peux faire sans CRON
- Je lisait mon fichier à distance, pas besoin de le copier sur le serveur (d'ailleurs, je vois pas pourquoi tu veux en faire une copie, mais tu as surement une raison valable).

PS : Dis donc, tu m'a l'air de bien galérer avec ton système. Ca fait déjà pas mal de temps que tu es dessus si ma mémoire est bonne...

Bon courage !
 
WRInaute passionné
J'ai envie de le copier parceque le site source est souvent HS... et je n'ai pas envie d'être HS à cause de ça!
 
WRInaute accro
Sinon tu le lis à distance :
- Si ça marche (que ça répond vite) tu l'affiche et tu enregistre les données dans un autre fichier XML sur ton serveur
- Si ça marche pas (que l'autre site est HS) tu lis la copie enregistrée

C'est pas mal, ça comme compromis, non ?
 
WRInaute occasionnel
chez ovh en mutualisé, tu peux envoyer un mail au support pour leur demander d'exécuter ton script automatiquement en leur donnant l'adresse de ton script et la fréquence.
C'est expliqué quelque part dans la doc...
 
Discussions similaires
Haut