4

我正在使用 phpexec命令执行另一个文件。

我正在使用以下内容:

 exec ('php email.php');

但我希望通过 exec 命令将一个名为 $body 的变量传递给“email.php”文件。如何通过 exec 命令传递变量?

4

4 回答 4

7

传递参数:

exec('php email.php "' . addslashes($body) . '"');

在email.php中获取它:

$body = stripslashes($argv[1]);
于 2012-05-26T18:48:58.693 回答
4

利用:

 exec ('php email.php firstparameter secondparameter thirdparameter');

您也可以参考:命令行手册

于 2012-05-26T18:33:21.417 回答
4

您可以将其作为参数传递给email.php

exec('php email.php "'.addslashes($body).'"');

email.php得到它

$body = stripslashes($argv[1]);

但是,如果 $body 包含带有花哨字符的长文本,最好将其保存到具有随机名称的临时文件中。

<?php
$temp_file = uniqid().'.txt';
file_put_contents($temp_file, $body);
exec("php email.php $temp_file");

然后在 中email.php,获取$bodyfrom 的内容$temp_file

于 2012-05-26T18:42:06.327 回答
0

从 php exec 命令向 php 脚本传递参数的 2 种方法:

<?php 
$fileName = '/var/www/ztest/helloworld.php 12';
$options = 'target=13';
exec ("/usr/bin/php -f {$fileName} {$options} > /var/www/ztest/log01.txt 2>&1 &");

echo "ended the calling script"; 
?>

查看完整答案(带有调用脚本和结果)

于 2013-02-21T02:23:10.803 回答