2010-05-21 2 views
0

Я использую php для вызова gpg, но я получаю ошибку в канале. Я думал, что если бы я прочитал пароль из файла, я мог бы передать его самой команде? Но я продолжаю получать: Синтаксическая ошибка: «|» неожиданныйРасшифровка PHP/GnuPG - ошибка синтаксиса?

Вот код:

(Примечание: Файлы итерируемая над в цикле Еогеасп ...)

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

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

Смежные вопросы