J'essaie de créer un script PHP qui prendra un nombre potentiellement infini d'URL de la ligne de commande en tant qu'arguments. Je dois aussi passer un argument qui n'a qu'une seule valeur numérique possible (spécifier délai d'attente), par exemple:Passage d'un nombre potentiellement infini d'arguments à un tableau sauf une seule variable numérique dans un script de ligne de commande PHP
./urltest.php 60 url1.com url2.com url3.com
Je ne suis pas sûr de savoir comment spécifier argv [1] pour être une seule variable numérique en en même temps, le reste des arguments (c'est-à-dire la liste des URL) va dans un tableau. Peut-être quelque chose comme:
$timeout = $argv[1];
$args = func_get_args();
function numfilter($num) {
return !is_numeric($num);
}
$urls = array_filters($args, 'numfilter');
?
Merci d'avance!
J'ai effectivement écrit une petite bibliothèque PHP pour gérer ce genre de choses. Vous pouvez le trouver sur GitHub [ici] (https://github.com/jordanhalterman/ParParse). Je l'ai utilisé pendant un certain temps et je l'ai trouvé très utile pour ce genre de choses, je n'ai jamais vraiment fait d'effort pour en parler à quelqu'un d'autre. – kuujo