1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| function trouvePHP()
{
if (! file_exists('./rechercheEnCours')) /* rechercheEnCours est un fichier */
{ /* créé au début de la recherche et effacé à la fin. */
@set_time_limit(0); /* 30 secondes risque de ne pas faire assez */
$fp = fopen('./rechercheEnCours', 'w'); /* on crée rechercheEnCours */
fclose($fp);
$cheminsTrouves = Array(); /* le tableau ou on stockera les réponses de dir */
for ($lecteur=67; $lecteur < 91; $lecteur++) /* $lecteur prend les codes ascii des lettres de c à z */
{
/* on se place à la racine du lecteur et on cherche un fichier php.exe */
/* les résultats sont placés dans $cheminTrouvés */
exec('cd /d '.chr($lecteur).':\\ && dir /s /b php.exe', $cheminsTrouves);
}
unlink('./rechercheEnCours');
echo $cheminsTrouves[0];
return $cheminsTrouves[0]; /* nous nous contenterons du premier résultat */
}else{
echo ("Le script de recherche a été interrompu pendant une recherche précédente<br />");
echo ("Il n a sans doute pas eu le temps de se terminer");
echo ("Vous devriez contacter votre administrateur pour trouver l emplacement du fichier php.exe");
unlink('./rechercheEnCours');
}
}
function ajouteTache($heure, $minutes, $jours, $fichier)
{
$pathPhp = trouvePHP(); /* le chemin vers php.exe */
$listeJours = implode(',', $jours); /* la liste de jours au format attendu */
/*la commande, le résulat est mis dans $res */
$res = shell_exec('at '.$heure.':'.$minutes.' /Every:'.$listeJours.' "'.$pathPhp.' -f '.$fichier.'"');
$motsRes = explode(' ', $res); /* on récupère les différents mots */
return $motsRes[count($motsRes)-1]; /* l'id est le dernier mot */
}
function effaceTache($id)
{
if (! empty($id))
{
shell_exec('at '.$id.' /delete /yes');
}
}
$jours = Array();
$jours[] = 'd';
$heure = '23';
$minutes = '59';
$script = 'D:\\wamp\\www\\Cantine\\reinitSaisie.php';
$id = ajouteTache($heure, $minutes, $jours, $script); /* vous pouvez vérifier l'insertion en lançant at sans argument */
effaceTache($id); |
Partager