`

如何在命令行下运行PHP脚本[带参数]

    博客分类:
  • PHP
阅读更多
创建一个简单的文本文件,其中包含有以下PHP代码,并把它保存为hello.php:
<?php
echo "Hello from the CLI";
?>
现在,试着在命令行提示符下运行这个程序,方法是调用CLI可执行文件并提供脚本的文件名:
#php phphello.php
输出Hello from the CLI


-----------------使用标准的输入和输出
 你可以在自己的PHP脚本里使用这三个常量,以接受用户的输入,或者显示处理和计算的结果。要更好地理解这一点,可以看看下面的脚本(

列表A):

列表A
<?php
// ask for input
fwrite(STDOUT, "Enter your name: ");

// get input
$name = trim(fgets(STDIN));

// write input back
fwrite(STDOUT, "Hello, $name!");
?>
Look what happens when you run it:
shell> php hello.php
Enter your name: Joe
Hello, Joe!


    在这个脚本里,fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读

取到一个PHP变量里,并它把合并成为一个字符串。然后就用fwrite()把这个字符串打印输出到标准的输出设备上。


-----------------使用命令行自变量
  在命令行里输入程序参数来更改其运行方式是很常见的做法。你也可以对CLI程序这样做。PHP CLI带有两个特殊的变量,专门用来达到这个

目的:一个是$argv变量,它通过命令行把传递给PHP脚本的参数保存为单独的数组元素;另一个是$argc变量,它用来保存$argv数组里元素的

个数。


    用PHP脚本编写一段读取$argv并处理它所含参数的代码是很简单的。试试列表B里的示例脚本,看看它是如何工作的:

列表B
<?php
print_r($argv);
?>


Run this script by passing it some arbitrary values, and check the output:

shell> php phptest.php chocolate 276 "killer tie, dude!"
Array
( [0] => test.php
[1] => chocolate
[2] => 276
[3] => killer tie, dude!
)

    正如你可以从输出的结果看到的,传递给test.php的值会自动地作为数组元素出现在$argv里。要注意的是,$argvis的第一个自变量总是

脚本自己的名称。


 下面是一个更加复杂的例子(列表C):

列表C


代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />--><?php
// check for all required arguments
// first argument is always name of script!

if ($argc != 4) { 
die("Usage: book.php <check-in-date> <num-nights> <room-type> ");
}

// remove first argument
array_shift($argv);

// get and use remaining arguments
$checkin = $argv[0];
$nights = $argv[1];
$type = $argv[2];
echo "You have requested a $type room for $nights nights, checking in on $checkin. Thank you for your order! ";
?>

 

    下面是其用法的示例:

shell> php phpbook.php 21/05/2005 7 single
You have requested a single room for 7 nights, checking in on 21/05/2005. Thank you for your order!

    在这里,脚本首先会检查$argc,以确保自变量的数量符合要求。它然后会从$argv里提取出每一个自变量,把它们打印输出到标准的输出

<script type="text/javascript"></script>

分享到:
评论

相关推荐

    在命令行下运行PHP脚本[带参数]的方法

    - PHP脚本执行环境:在命令行下运行PHP脚本,主要使用php.exe。确保php.exe已添加到系统的环境变量中,这样可以在任意命令行窗口调用php命令。 - PHP脚本创建与保存:首先编写包含PHP代码的文本文件,例如hello....

    基于命令行执行带参数的php脚本并取得参数的方法

    首先,我们来理解为什么要在命令行下运行PHP脚本。有两个主要的原因:一是利用`crontab`进行定时任务执行,这样可以减轻服务器负担,特别是当实时性要求不高的情况下,例如定期更新好友动态。二是为了自动化处理特定...

    PHP 命令行参数详解及应用

    通过这些命令行参数,开发者可以将PHP脚本作为shell命令来使用,例如`php -q 文件名.php`可以直接运行PHP脚本,而`php -s 文件名.php`则可以将PHP源代码以彩色HTML的形式展示出来。此外,结合PHP的ODBC功能,可以在...

    使用shell调用php脚本

    一旦PHP安装成功,你就可以在shell中运行PHP脚本了。有几种方法可以实现这一点: 1. **直接执行PHP脚本**:如果你的PHP脚本(例如,名为`script.php`)是可执行的(通过`chmod +x script.php`),并且第一行是`#!/...

    命令行执行php脚本中的$argv和$argc配置方法

    在PHP编程中,有时我们需要在命令行环境下执行PHP脚本,比如进行自动化任务或者调试。在这样的场景下,`$argv` 和 `$argc` 是两个非常重要的预定义变量,它们帮助我们处理命令行传递的参数。 `$argv` 是一个数组,...

    命令行形式下的PHP切图工具

    在设置好参数后,你可以通过以下步骤运行这个命令行工具: 1. 打开“开始”菜单,找到“运行”选项。 2. 在运行对话框中输入 `cmd`,这会打开一个命令提示符窗口。 3. 在命令提示符中,你需要定位到`split.php` ...

    ThinkPHP3.1.2 使用cli命令行模式运行的方法

    为了更好地处理URL参数,我们可以编写额外的代码,以确保在命令行模式下也能正确地传递参数。例如,如果命令行参数超过三个,可以通过正则表达式将这些参数转换为GET参数: ```php if ($argc &gt; 3) { preg_replace...

    php命令行使用方法和命令行参数说明

    PHP命令行使用方法和命令行...通过上述命令行参数,可以高效地在命令行环境下运行PHP脚本,处理输入输出,以及管理程序的运行逻辑。对于需要进行批量操作或者定时任务的开发者来说,这是一个极其有用且必须掌握的技能。

    cmd下运行php脚本

    ### CMD下运行PHP脚本详解 #### 一、概述 在Windows系统中,通过命令提示符(Command ...通过以上步骤,我们不仅能够顺利地在CMD下运行PHP脚本,还能掌握一些高级技巧,如带参数运行、定时任务等,从而提高开发效率。

    怎么在linux的CLI下运行php文件.docx

    6. **自动化运行**:如果你需要定期运行PHP脚本,可以将其添加到定时任务服务,如`cron`,或者通过`nohup`或`&`使其在后台运行。 7. **参数传递**:如果PHP脚本需要接收命令行参数,可以按照`php script.php arg1 ...

    linux下自动运行php或定时运行php

    1. **Apache模块方式**:在这种模式下,PHP作为Apache的一部分运行,无法直接在命令行调用PHP脚本。可以通过Lynx这种文本浏览器模拟浏览器请求。例如,要定时执行`http://localhost/attime.php`,可以添加如下`cron`...

    ShellWrap一个简单的命令行PHP封装库

    2. **导入库**:在PHP脚本中引入ShellWrap的命名空间,例如`use MrRio\ShellWrap as SW;`。 3. **创建和执行命令**:通过`SW::cmd()`方法创建命令对象,然后调用`run()`方法执行命令。例如,要执行`ls -l`命令,...

    MixCLI让PHP像Golang一样开发命令行程序单执行文件

    8. **命令行接口设计**:开发命令行工具时,了解如何设计良好的命令行接口(CLI)非常重要,包括参数解析、选项处理、帮助文档生成等,可以参考如Symfony Console这样的PHP库。 9. **版本管理和兼容性**:随着PHP...

    PHP 命令行模式开发框架mix-master.zip

    `php -f script.php`命令即可运行一个PHP脚本。 2. **Console Application**:在命令行模式下,通常会有一个主入口点,如`console.php`,作为命令行应用的启动点。这个文件会解析命令行参数,调度任务,并管理命令...

    PHP的命令行命令使用指南

    例如,可以创建一个定时任务,在特定时间执行某个PHP脚本,以达到自动化管理的目的。这可以使用操作系统提供的定时任务工具(如Linux的cron作业)来实现。 4. PHP命令行的调试和语法检测 PHP命令行不仅用于运行...

Global site tag (gtag.js) - Google Analytics