如何通过网页将parameter passing给PHP脚本?

我正在调用一个PHP脚本,每当网页加载。 但是,PHP脚本需要运行一个参数(我通常在testing脚本时通过命令行)。

如何在页面加载时每次运行脚本时传递此参数?

2 Solutions collect form web for “如何通过网页将parameter passing给PHP脚本?”

据推测你是在命令行上传递参数如下:

php /path/to/wwwpublic/path/to/script.php arg1 arg2 

…然后在脚本中访问它们:

 <?php // $argv[0] is '/path/to/wwwpublic/path/to/script.php' $argument1 = $argv[1]; $argument2 = $argv[2]; ?> 

在通过HTTP传递参数(通过Web访问脚本)时需要做的事情是使用查询string并通过$ _GET superglobal访问它们:

转到http://yourdomain.com/path/to/script.php?argument1=arg1&argument2=arg2

…和访问:

 <?php $argument1 = $_GET['argument1']; $argument2 = $_GET['argument2']; ?> 

如果你想让脚本运行而不pipe你从哪里(命令行或浏览器)调用脚本,你需要如下的东西:

编辑:正如Cthulhu在评论中指出的那样,testing你正在执行的环境的最直接的方法是使用PHP_SAPI常量。 我已经相应地更新了代码:

 <?php if (PHP_SAPI === 'cli') { $argument1 = $argv[1]; $argument2 = $argv[2]; } else { $argument1 = $_GET['argument1']; $argument2 = $_GET['argument2']; } ?> 
 $argv[0]; // the script name $argv[1]; // the first parameter $argv[2]; // the second parameter 

如果你想让所有的脚本运行而不pipe你从哪里(命令行或浏览器)调用它,你需要如下的东西:

 <?php if ($_GET) { $argument1 = $_GET['argument1']; $argument2 = $_GET['argument2']; } else { $argument1 = $argv[1]; $argument2 = $argv[2]; } ?> 

从命令行调用chmod 755 /var/www/webroot/index.php并使用

 /usr/bin/php /var/www/webroot/index.php arg1 arg2 

要从浏览器中调用,请使用

 http://www.mydomain.com/index.php?argument1=arg1&argument2=arg2 
  • 使用==与strcmp进行string比较
  • 在Ubuntu上安装php70-gd
  • PHP CodeSniffer有多有用? 守则标准强制执行?
  • 如何列出PhpMyAdmin左侧菜单中的所有表格?
  • PHP - 连接或直接在string中插入variables
  • REST与PHP中的RPC
  • 通过命令提示符执行PHP5脚本时是否可以读取cookie / session值?
  • 移动文件系统中的类之后,“类XXX不是有效的实体或映射的超类”
  • PHP + MySQL事务的例子
  • 警告:mysqli_select_db()需要恰好2个参数,1在C:\
  • PHP:将一个string分割成一个数组foreach char