如何使用PHP-CLI提示输入并将输入作为变量提供?

时间:2014-12-01 02:23:37

标签: php datetime input command-line-interface

我希望制作一个小型PHP-CLI工具,告诉我输入的日期是否是周末。我目前有以下脚本,它实现了这个目标:

<?php
function isWeekend($date) {
return (date('N', strtotime($date)) >= 6);
}
var_dump(isWeekend('2014-10-29')); 
?>

它目前运行良好(输出true或false),但每次我想测试日期时我都必须更新源。如果我可以提示输入日期(用户输入),然后使用该输入来计算日期,最好不使用HTML元素,因为我目前通过CLI运行脚本,这会更容易。

有没有其他人设法实现我的目标?我不需要验证,因为它只是我将使用的工具,每次使用它时我都会确保使用正确的日期结构。

2 个答案:

答案 0 :(得分:3)

从命令提示符

运行时
php scriptname.php 2014-10-29 secondarg

用户输入将包含在

$argv[1]

$argv[2] //secondarg etc

当然,

strtotime($argv[1]);

将在失败时返回false

答案 1 :(得分:2)

您可以尝试:

<?php
fwrite(STDOUT, "Enter the date\n");
$date = fgets(STDIN);      
$isWeekend = (date('N', strtotime($date)) >= 6);
fwrite(STDOUT, "Response: $isWeekend");  
exit(0); 
?>

这就是我得到的:

C:\xampp\php>php test.php
Enter the date
2014-11-30
Response: 1
C:\xampp\php>php test.php
Enter the date
2014-12-01
Response:
C:\xampp\php>