Writing a PHP command line script that takes options
First of all, we make our file start like this.
#!/usr/bin/env phpThis allows us to run the script without prefixing it with the “php” command, and instead we can run it like this:
chmod +x myscript # This gives execution permissions to the script, do it only once ./myscript --first=option --second --third=option
If we want our script to take options like in the example above, we can use this snippet:
$options = array(); foreach ($argv as $arg){ preg_match('/\-\-(\w*)\=?(.+)?/', $arg, $value); if ($value && isset($value[1]) && $value[1]) $options[$value[1]] = isset($value[2]) ? $value[2] : null; }
The $options array will hold the supplied options. You can then use them like this:
if (!isset($options['somevalue'])) // show an error if (isset($options['dosomething'])) // do something
