Automatiser un script php

Automatiser un script php - PHP - Programmation

Marsh Posté le 18-12-2002 à 08:34:20    

salut,
 
Alors je ne c pas comment faire pour executer un script php sans lui avoir envoyé une requette.  
 
Je m'explique je voudrai que toto.php s'execute 2 fois par semaine sans que je fasse quoi que se soit.
 
Merci

Reply

Marsh Posté le 18-12-2002 à 08:34:20   

Reply

Marsh Posté le 18-12-2002 à 08:57:21    

sous linux, tu le mets dans le cron (recherche un howto)
sous windows, tu le mets dans les "tâches automatisées"


---------------
...oups kernel error...
Reply

Marsh Posté le 18-12-2002 à 09:13:49    

sous win moi je fais un truc du style  
 
start /minimized iexplore.exe http://monserveur/monscript.php
 
je mets dans un batch que je lance a heure voulue avec un scheduler..


---------------
All we need is a soul revolution
Reply

Marsh Posté le 18-12-2002 à 09:35:23    

oui mais je suis sur un serveur mutualisé dans pas de droit sur cron...
 
Désolé de ne pas l'avoir signalé plus haut.

Reply

Marsh Posté le 18-12-2002 à 09:39:46    

benwar a écrit :

oui mais je suis sur un serveur mutualisé dans pas de droit sur cron...
 
Désolé de ne pas l'avoir signalé plus haut.


 
ben tu lances la commande que je t'ai mis depuis ton poste ou n'importe quel autre poste qui peut atteindre ton serveur web....


---------------
All we need is a soul revolution
Reply

Marsh Posté le 18-12-2002 à 09:48:15    

kayasax a écrit :


 
ben tu lances la commande que je t'ai mis depuis ton poste ou n'importe quel autre poste qui peut atteindre ton serveur web....


 
oui bonne idées j'avais pas compris.
 
Mais il n'y a vraiment pas de possibilité avec juste php ?

Reply

Marsh Posté le 18-12-2002 à 09:59:25    

non.
si l'heure exacte de l'exécution n'a pas trop d'importance, tu peux aussi mettre dans tes pages une fonction qui regarde l'heure, regarde la dernière exécution et qui exécute une autre page php si nécessaire.  Mais c'est très aléatoire... si personne ne consulte la page pdt 2 jours, il ne sera jamais exécuté ;)


---------------
...oups kernel error...
Reply

Marsh Posté le 18-12-2002 à 10:10:31    

Hé Ethernal, comment kon fait pour ce que tu viens de dire?


---------------
heartbreak ridge
Reply

Marsh Posté le 18-12-2002 à 10:17:09    

tu stockes dans un fichier texte, dans une bd, ou où tu veux une heure de référence. (->$timestamp_ref= date("U" );)
 
if ($timestamp_ref + $delai_en_secondes < date("U" ) ){
  function_to_execute()
  //date de dernière exécution à stocker
  $timestamp_ref= date("U" );
}


---------------
...oups kernel error...
Reply

Marsh Posté le 18-12-2002 à 10:19:40    

fais pas de travail lourd si tu utilises cette méthode.
imagine combien de temps le visiteur devra attendre si tu fais un backup complet du site qd il charge ta page ;)


---------------
...oups kernel error...
Reply

Marsh Posté le 18-12-2002 à 10:19:40   

Reply

Marsh Posté le 18-12-2002 à 10:24:59    

bibkar a écrit :

Hé Ethernal, comment kon fait pour ce que tu viens de dire?


A inserer dans l'index du site  
Je débute mais je pense que ce code execute toto.php tous les 10 du mois. (bien sur si kelk1 vas sur l'index)

Code :
  1. $date = date("d" );
  2. if($date == '10')
  3.     {   
  4. include("toto.php" );
  5. }

Reply

Marsh Posté le 18-12-2002 à 10:36:40    

benwar a écrit :


A inserer dans l'index du site  
Je débute mais je pense que ce code execute toto.php tous les 10 du mois. (bien sur si kelk1 vas sur l'index)

Code :
  1. $date = date("d" );
  2. if($date == '10')
  3.     {   
  4. include("toto.php" );
  5. }




 
Merci (pour moi je crois que je vais tenter cette solution. Si j'ai du neuf je refile ma solution...)


---------------
heartbreak ridge
Reply

Marsh Posté le 18-12-2002 à 10:40:27    

bibkar a écrit :


 
Merci (pour moi je crois que je vais tenter cette solution. Si j'ai du neuf je refile ma solution...)


 
Mais c naze mon truc car le toto.php vas s'executer a chaque demande de l'index pendant toute la journée du 10 du mois.
 
IL faud trouver une autre solution.
 
 
DESOLE !

Reply

Marsh Posté le 18-12-2002 à 10:44:32    

tu dois évidemment stocker la date de la dernière execution.
stocker le mois par ex

Code :
  1. $date = date("d" );
  2. //fread($fp, $mois_prev) ...
  3. if($date == '10' && date("m" )!= $mois_prev ) 
  4. {       
  5.   include("toto.php" );
  6.   $mois_prev= date("m" );
  7.   //fwrite($fp, $mois_prev) ...
  8. }


Message édité par ethernal le 18-12-2002 à 10:45:34

---------------
...oups kernel error...
Reply

Marsh Posté le 18-12-2002 à 10:44:35    

benwar a écrit :


 
Mais c naze mon truc car le toto.php vas s'executer a chaque demande de l'index pendant toute la journée du 10 du mois.
 
IL faud trouver une autre solution.
 
 
DESOLE !  


J'avais bien compris, je ne vais pas faire un copier/coller: j'essaye de me baser à partir de ton idée (kepanazdutou!) et de la développer...


---------------
heartbreak ridge
Reply

Marsh Posté le 18-12-2002 à 11:38:50    

Sinon j'avait une autre question  
 
alors ; j'ai fait un scrip qui doit m'envoyer un email et un sms sur mobile SFR quand un internaute envoie un formulaire.
 
le probleme est que je doit transmetre a SFR les variables dans une URL et que la seul solution que j'ai trouvé est de faire une redirection automatique avec l'URL ce qui veux dire que cela n'ai pas transparant pour l'internaute car il voie une page de comfirmation d'SFR.
 
 
       

Code :
  1. $exp_sms = "Toto";
  2.         $tel = "06.......";
  3. $corp_sms = "$prenom $nom a envoyé une demande de renseignement";
  4. $longueur_sms = strlen("$corp_sms" );
  5. $balise_sms = "<meta http-equiv=\"refresh\" content=\"0;URL=http://services.sfr.fr/FormulaireSMSSfrPageFind.servlet?PAGE_COURANTE=/textoweb/saisieTextoSfr.jsp&PAGE_SUIVANTE=/textoweb/confirmationEnvoiTextoSfr.jsp&NOTIFICATION_FLAG=false&LANGUAGE=FR&NETWORK=smsc1&DELIVERY_TIME=1040111400000&VALIDITY_PERIOD=72&DELIVERY_DATE=17&DELIVERY_MONTH=11&DELIVERY_YEAR=2002&DELIVERY_HOUR=8&DELIVERY_MIN=50&NOTIFICATION_ADDRESS=&SENDER=$exp_sms&NUM_SENDER=&RECIPIENT=$tel&MINI_TEXTO=0&SHORT_MESSAGE=$corp_sms&caracteres=$longueur_sms\">";


 
Des idées pour rendre tout cela transparant ?

Reply

Marsh Posté le 18-12-2002 à 11:47:15    

Oui, utilise fopen avec la même chaine.

Reply

Marsh Posté le 18-12-2002 à 12:32:15    

omega2 a écrit :

Oui, utilise fopen avec la même chaine.


 
je test tout de suite
 
 
merci

Reply

Marsh Posté le 19-12-2002 à 07:40:49    

(L'url est raccourcie pour ne pas trop prendre en largeur)
 
$fp = fopen ("<meta http-equiv=\"refresh\"sfr.jsp\">", "r" );
 
Ca ne marche pas s'est pareille le message de confirme est toujours visible pour l'internaute.
 
Je ne comprend rien au java script peut etre que kelk1 pourrais me dire comment modifier la requette (URL) ?

Reply

Marsh Posté le 19-12-2002 à 14:10:08    

benwar a écrit :

(L'url est raccourcie pour ne pas trop prendre en largeur)
 
$fp = fopen ("<meta http-equiv=\"refresh\"sfr.jsp\">", "r" );
 
Ca ne marche pas s'est pareille le message de confirme est toujours visible pour l'internaute.
 
Je ne comprend rien au java script peut etre que kelk1 pourrais me dire comment modifier la requette (URL) ?

Heu, quel message?
 
PS : C'est du php et pas du javascript que je t'ai indiqué.

Reply

Marsh Posté le 19-12-2002 à 15:27:57    

omega2 a écrit :

Heu, quel message?
 
PS : C'est du php et pas du javascript que je t'ai indiqué.


 
Oui j'ai bien compris que "fopen" est du php mais moi j'apelle une page en java script et ce java script dit que si réponce ok ouvre une page et mon internaute voie la page de comfirmation d'envoie de sms de sfr.

Reply

Marsh Posté le 20-12-2002 à 00:38:01    

benwar a écrit :


 
Oui j'ai bien compris que "fopen" est du php mais moi j'apelle une page en java script et ce java script dit que si réponce ok ouvre une page et mon internaute voie la page de comfirmation d'envoie de sms de sfr.

ha d'accord alors ca se complique là.

Reply

Marsh Posté le 20-12-2002 à 00:44:47    

Je sais que j'arrive un peu tard, mais j'utilise http://www.webcron.org/, c'est géant pour ca, gratuit, pratique et tout et tout :D


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 20-12-2002 à 09:12:30    

Zion a écrit :

Je sais que j'arrive un peu tard, mais j'utilise http://www.webcron.org/, c'est géant pour ca, gratuit, pratique et tout et tout :D  


 
 
Mais s'est mortel ce truc
 
 
 
Merci

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed