0

我正在使用 php 调用 gpg,但出现管道错误。我想如果我从文件中读取密码,然后我可以将它传递给命令本身?但是,我不断收到:语法错误:“|” 意外

这是代码:

(注意:文件在 foreach 循环中被迭代......)

foreach($files as $k => $v) {
    $encrypted = $v;
    $filename = explode('.',$v);
    $decrypted = $filename[0].'.txt';
    shell_exec("echo $passphrase | gpg --no-tty --passphrase-fd 0 -o $decrypted -d $encrypted");
}
4

1 回答 1

1

也许您可以打印这些行,然后在终端中运行它们以查看它们是否真的按预期工作。也许您的输入中有一些奇怪的字符需要转义,请将您的 PHP 变量放在引号中,带空格的文件名可能很危险。请参阅escapeshellargescapeshellcmd

于 2010-05-21T00:42:06.137 回答