gpt4 book ai didi

php - 通过php将参数传递给python脚本

转载 作者:行者123 更新时间:2023-12-01 01:04:31 25 4
gpt4 key购买 nike

我正在尝试通过 php 脚本将一些参数传递给 python 脚本。这是代码:

$item=array(
'--native-libs-dir' => "/home/gdqupqmy/quikklyLib/",
'--type' => "template0001style1",
'--data'=> "12345",
'--join' => "horizontal",
'--output-file' => "/home/gdqupqmy/quikklyLib/saavr-12345.svg");

echo shell_exec("python quikkly-generate-code.py '$item'");

python 脚本创建一个 svg 图像文件。

到目前为止,我还没有运气。任何帮助都会很棒。谢谢。

最佳答案

很明显,您不能将数组放入字符串中并期望输出,但同样,您也不应该只是将字符串放入命令中。您需要escape your values防止由于特殊字符、空格等可能出现的问题

只需运行数组并构建一个命令行字符串,如下所示:

$item = array(
'--native-libs-dir' => "/home/gdqupqmy/quikklyLib/",
'--type' => "template0001style1",
'--data'=> "12345",
'--join' => "horizontal",
'--output-file' => "/home/gdqupqmy/quikklyLib/saavr-12345.svg"
);
$args = "";
foreach ($item as $k=>$v) {
$args .= " $k " . escapeshellarg($v);
}
$cmd = "/usr/bin/python /full/path/to/quikkly-generate-code.py $args";
$result = exec($cmd, $output, $return);
printf("Command exited with code %d, full output follows: %s", $return, print_r($output,1));

这确保所有值都被引用和转义。 (我假设数组键是固定值,因此并不危险,如果不是这种情况,它们也可以通过 escapeshellarg 运行。)

关于php - 通过php将参数传递给python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55505013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com