Расшифровка PHP / GnuPG - синтаксическая ошибка? - PullRequest
0 голосов
/ 21 мая 2010

Я использую 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");
}

1 Ответ

1 голос
/ 21 мая 2010

возможно, вы можете вместо этого напечатать строки, а затем запустить их в терминале, чтобы увидеть, действительно ли они работают так, как ожидалось. Возможно, в вашем входе есть какой-то странный символ, который нужно экранировать, и, пожалуйста, поместите переменные PHP в кавычки, имена файлов с пробелами могут быть опасными. См. escapeshellarg и escapeshellcmd .

...