PHP/CLI: Difference between revisions

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< PHP
No edit summary
No edit summary
Line 1: Line 1:
Although [[PHP]] is most commonly used to write [[web application]]s, it can also be used for scripts that run from a [[command line interface]] (CLI). The CLI environment is a little different than the web environment, and PHP's current documentation doesn't make it easy to locate the relevant pieces.
Although [[PHP]] is most commonly used to write [[web application]]s, it can also be used for scripts that run from a [[command line interface]] (CLI). The CLI environment is a little different than the web environment, and PHP's current documentation doesn't make it easy to locate the relevant pieces.


==Functionality==
==Arguments==
Predefined variables:
Predefined variables:
* <code>[https://www.php.net/manual/en/reserved.variables.argc.php $argc]</code> contains the number of arguments passed to the current script
* <code>[https://www.php.net/manual/en/reserved.variables.argc.php $argc]</code> contains the number of arguments passed to the current script
Line 13: Line 13:
* <code>[https://www.php.net/manual/en/function.cli-set-process-title.php cli_set_process_title()]</code>
* <code>[https://www.php.net/manual/en/function.cli-set-process-title.php cli_set_process_title()]</code>
* <code>[https://www.php.net/manual/en/function.glob.php glob()]</code> is the interface to the system's file-[[globbing]] function
* <code>[https://www.php.net/manual/en/function.glob.php glob()]</code> is the interface to the system's file-[[globbing]] function
==Interactivity==
* [https://www.php.net/manual/en/book.readline.php GNU Readline] manages editable input lines
* <code>[https://www.php.net/manual/en/function.fgetc.php fgetc()]</code> reads a single character, but waits for a CRLF
** See the comments for ways to wait for the user to actually just press a single character.
==Links==
==Links==
* [https://www.php.net/manual/en/features.commandline.php Using PHP from the command line]
* [https://www.php.net/manual/en/features.commandline.php Using PHP from the command line]

Revision as of 13:26, 31 July 2022

Although PHP is most commonly used to write web applications, it can also be used for scripts that run from a command line interface (CLI). The CLI environment is a little different than the web environment, and PHP's current documentation doesn't make it easy to locate the relevant pieces.

Arguments

Predefined variables:

  • $argc contains the number of arguments passed to the current script
  • $argv[] contains an array of all the arguments passed to the script
    • $argv[0] is always the name that was used to run the script.

Other:

Interactivity

  • GNU Readline manages editable input lines
  • fgetc() reads a single character, but waits for a CRLF
    • See the comments for ways to wait for the user to actually just press a single character.