Reputation: 3480
I want to create a command line program using PHP. How do I design the program's I/O?
I can send output as text. I am wondering about the specific output syntax. For example: In HTML i use <br/>
to pass to a new line. How can I do this using terminal/file output? Is there a reference for terminal/file oriented programming in PHP?
Upvotes: 7
Views: 4202
Reputation: 5738
When writing a CLI script consider ending lines with PHP_EOL so it will be cross platform compatible with UNIX ( \n
), Windows ( \n\r
) and Mac ( \r
). And when you whant to print it as html use the PHP's nl2br function.
Upvotes: 4
Reputation: 15750
Writing command-line PHP scripts is quite simple, actually. You output text in the exact same way you would normally: print
and echo
both print text to the console. The only difference here is that you can't use HTML tags for formatting, since your code isn't being interpreted by a web browser (i.e. "\n"
will actually create a visible line break, not <br />
).
Reading input from stdin is a little trickier, but all it really involves is essentially using some of the file reading functions (e.g. fgets()
, fgetc()
, fscanf()
) and passing in STDIN
as the file path (or php://stdin
, depending on how new your version of PHP is).
And yes, there is a reference for command-line programming in PHP on php.net. It covers pretty much everything you need to know to work with PHP in a command-line environment.
Upvotes: 11