我有一个名为test.php.In的php文件,我必须接受两个输入,即数字和消息。我希望从命令提示符执行这个php文件。问题是执行php文件后应该问我输入但是它没有这样做。我的代码在下面
echo "ENTER YOUR NUMBER";
$num = $_GET["number"];
echo "Enter your message";
$msg = $_GET["message"];
echo $num;
echo $msg;
有人可以帮我吗?
我的test.php文件现在包含以下代码
echo "ENTER YOUR NUMBER";
$num = trim(fgets(STDIN));
echo "Enter your message";
$msg = trim(fgets(STDIN));
$post['num'] = $num;
$post['msg'] = $msg;
$url = 'http://172.16.1.223/source%20codes/wc.php';
$fields = array(
'num'=>urlencode($post["num"]),
'msg'=>urlencode($post["msg"])
);
$fields_string = http_build_query($fields);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$fields);
$response = curl_exec($ch)
我试图访问另一个文件wc.php,它是在另一台计算机上通过ip地址并使用curl.Problem是我在wc.php文件中不理解输入格式是否正确.wc.php file包含以下代码
$num=trim(fgets(STDIN));
$msg=trim(fgets(STDIN));
echo $num;
echo $msg;
我只想将变量从test.php传递给wc.php
答案 0 :(得分:3)
你可以这样做:
$input = trim(fgets(STDIN));
fgets从STDIN获取输入并等待换行。 修剪功能可确保您最后没有换行符。
所以在你的例子中添加这个:
echo "ENTER YOUR NUMBER";
$num = trim(fgets(STDIN));
echo "Enter your message";
$msg = trim(fgets(STDIN));
echo $num;
echo $msg;
答案 1 :(得分:-1)
在命令行上工作时,您将无法像在网站上使用PHP一样使用超级全局($ _GET,$ _REQUEST等)。您需要在命令行中传递值,如下所示:
php -f myfile.php /number:"40" /message:"this is great"
然后,您可以使用$ argv访问命令行参数。