php PHP命令列指令碼接收傳入引數的三種方式

2021-08-21 15:02:33 字數 1709 閱讀 1019

通常php都做http方式請求了,可以使用get or post方式接收引數,有些時候需要在shell命令下把php當作指令碼執行,比如定時任務。這就涉及到在shell命令下如何給php傳參的問題,通常有三種方式傳參。

一、使用$argv or $argc引數接收

複製****如下:

<?php

/*** 使用 $argc $argv 接受引數

*/echo "接收到個引數";

print_r($argv);執行

複製****如下:

[root@dell113 lee]# /usr/local/php/bin/php test.php

接收到1個引數array

([0] => test.php

)[root@dell113 lee]# /usr/local/php/bin/php test.php a b c d

接收到5個引數array

([0] => test.php

[1] => a

[2] => b

[3] => c

[4] => d

)[root@dell113 lee]#

二、使用getopt函式

複製****如下:

<?php

/*** 使用 getopt函式

*/$param_arr = getopt('a:b:');

print_r($param_arr);執行

複製****如下:

[root@dell113 lee]# /usr/local/php/bin/php test.php -a 345

array

([a] => 345

)[root@dell113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3

array

([a] => 345

[b] => 12q3

)[root@dell113 lee]# /usr/local/php/bin/php test.php -a 345 -b 12q3 -e 3322ff

array

([a] => 345

[b] => 12q3

)三、提示使用者輸入

複製****如下:

<?php

/*** 提示使用者輸入,類似python

*/fwrite(stdout,'請輸入您的部落格名:');

echo '您輸入的資訊是:'.fgets(stdin);執行

複製****如下:

[root@dell113 lee]# /usr/local/php/bin/php test.php 

請輸入您的部落格名:指令碼之家 www.jb51.net

您輸入的資訊是:指令碼之家 www.jb51.net

你也可以這麼幹,不讓使用者輸入空資訊

複製****如下:

<?php

/*** 提示使用者輸入,類似python

*/$fs = true;

doelse

$name = trim(fgets(stdin));

}while(!$name);

echo '您輸入的資訊是:'.$name."\r\n";

PHP命令列指令碼接收傳入引數的三種方式

通常php都做http方式請求了,可以使用get or post方式接收引數,有些時候需要在shell命令下把php當作指令碼執行,比如定時任務。這就涉及到在shell命令下如何給php傳參的問題,通常有三種方式傳參。一 使用 argv or argc引數接收 複製 如下 使用 argc argv ...

SQL 命令列指令碼

show databases use 資料庫名 select database create database 資料庫名 charset utf8 例 create database python charset utf8 drop database 資料庫名 例 drop database pyt...

linux 命令列指令碼

1.cd 到某個路徑 執行某個程式 cd home hil hilexe hmi2.ssh 命令 echo 123456 sudo s ssh 192.168.1.18123456是sudo的密碼 ssh中執行多個命令用 隔開 3.adb 命令 adb push home hil hilexe tr...