$ligne) { if (preg_match("/^# ".$ident."/",$oldCrontab[$index], $matches, PREG_OFFSET_CAPTURE) == "1") { $oldCrontab[$index] = "# ".$ident." : ".$comment; $oldCrontab[$index+1] = $calc_next_heure_deb[0].' '.$calc_next_heure_deb[1].' '.$calc_next_date_deb[2].' '.$calc_next_date_deb[1].' * '.$chpCommande; $trouve = true; } $newCrontab[] = $oldCrontab[$index]; } //si la tâche n'est pas trouvée, on l'ajoute if (!$trouve) { $newCrontab[] = "# ".$ident." : ".$comment; $newCrontab[] = $calc_next_heure_deb[0].' '.$calc_next_heure_deb[1].' '.$calc_next_date_deb[2].' '.$calc_next_date_deb[1].' * '.$chpCommande; } $f = fopen('/var/spool/cron/apache', 'w'); /* on crée le fichier s'il n'existe pas */ fwrite($f, implode(chr(10), $newCrontab)); fclose($f); exec('crontab /var/spool/cron/apache'); /* on le soumet comme crontab */ } } public function delTaskCron($ident) { $oldCrontab = Array(); /* récupère les informations de l'ancien crontab */ $newCrontab = Array(); /* ajoute le nouveau crontab */ exec('crontab -l', $oldCrontab); /* on récupère l'ancienne crontab dans $oldCrontab */ foreach($oldCrontab as $index=>$ligne) { /* copie $oldCrontab dans $newCrontab sans le script à effacer */ if (preg_match("/^# ".$ident."/",$oldCrontab[$index], $matches, PREG_OFFSET_CAPTURE) == "1") { $ligne= ""; // $oldCrontab[$index+1] = ""; } if ($ligne != "") { $newCrontab[] = $ligne; } } $f = fopen('/var/spool/cron/apache', 'w'); /* on crée le fichier s'il n'existe pas */ fwrite($f, implode(chr(10), $newCrontab)); fclose($f); exec('crontab /var/spool/cron/apache'); /* on le soumet comme crontab */ return $id; } }