Bonjour,
Je suis entrain d'ecrire un script PHP dans lequel j'utilise le module PEAR Console_Getopt pour parser ma ligne de commande.
Je suis tombé sur ce qui ressemble a un bug :
Si je fait cette commande :
mon tableau d'argument retourné par Console_Getopt est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part generer_comptes.php --file='liste.csv tain.zeb' -f='toto.txt béurk.csv'
il me met un = devant le nom de fichier toto .... :-(
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Array ( [0] => Array ( [0] => Array ( [0] => --file [1] => liste.csv tain.zeb ) [1] => Array ( [0] => f [1] => =toto.txt béurk.csv ) ) [1] => Array ( ) )
Voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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$shortopts = ""; $shortopts .= "f:"; // Valeur requise $shortopts .= "d::"; // Valeur optionnelle $shortopts .= "h"; $longopts = array( "file=", "user=", // requis "delimiter==", // Valeur optionnelle "help" ); // Get an instance of new Console_Getopt -> module de php-pear require_once 'Console/Getopt.php'; $getopt = new Console_Getopt(); // Get the arguments & remove the filename from the list $args = $getopt->readPHPArgv(); array_shift($args); $options = $getopt->getopt( $args, $shortopts, $longopts ); print_r( $options ); if ( PEAR::isError( $options ) ) { echo 'Got error: ' . $options->getMessage() . PHP_EOL; show_help(); exit(0); } ?> <?php
Partager