Rachel Rachel - 2 years ago 152
PHP Question

PHP getopt Operations

This question is regarding getopt function in php. I need to pass two parameter to the php scripts like

php script.php -f filename -t filetype

Now depending upon the file type which can be u, c or s I need to do proper operation.

I am using switch case for the same:

Here is the Code I am using:

// Get filename of input file when executing through command line.
$file = getopt("f:t:");

Switch case should compare the type of the file which I am passing in from the command line (u, c or i) and accordingly match it and do the operation.

switch("I am not sure what should go in there and this is wrong,Please advice")

case `Not sure`:

case `Not sure`:

case `Not sure`:

Kindly advise on this !!!

Answer Source

If you just put something like this in your PHP script (called, on my machine, temp.php) :

$file = getopt("f:t:");

And call it from the command-line, passing those two parameters :

php temp.php -f filename -t filetype

You'll get this kind of output :

array(2) {
  string(8) "filename"
  string(8) "filetype"

Which means that :

  • $file['f'] contains the value passed for -f
  • and $file['t'] contains the value passed for -t

Starting from there, if you want your switch to depend on the option passed as the value of -t, you'll use something like this :

switch ($file['t']) {
    case 'u':
            // ...
    case 'c':
            // ...
    case 'i':
            // ...

Basically, you put :

  • The variable that you want to test in the switch()
  • And the possible values in the cases

And, for more informations, you can read, in the PHP manual :

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download