嗨,有这个问题
- 我将ajax发布到文件insert.php
- 我在insert.php上生成exec((以发送.php
我需要通过POST或使用exec((从insert.php到send.php 获取数据
这是我的代码,但我什么都不通过
$data = array(
'user' => '1001',
'area' => 'any',
'type' => 'any',
'max' => '100'
);
$query = http_build_query($data);
shell_exec("php " . ROOT . "/send.php " . $query . " &> /dev/null &");
在send.php上,我用简单的电子邮件接收信息print_r($_REQUEST(;但我刚收到helloArray((
请帮助任何解决方案
在@barmar 的帮助下
$data = array(
'user' => '1001',
'area' => 'any',
'type' => 'any',
'max' => '100'
);
$query = escapeshellarg(http_build_query($data));
exec("php " . ROOT . "/mail.php " . $query . " &> /dev/null &");
发送.php
parse_str($argv[1], $data);
$data['user'];
$data['area'];
$data['type'];
$data['max'];
您需要转义$query
,因为它可能包含一些对shell有特殊意义的字符。
$query = escapeshellarg(http_build_query($data));
在send.php
中,使用$argv[1]
来获得$query
的值。可以使用parse_str($argv[1], $data)
将其中的参数值提取到$data
数组中,然后使用$data['area']
获取该参数。