2012-12-06 2 views
2

У меня возникла проблема с вызовом java из php на сервере linux с popen.Что означает символ «<» для вызова «-jar»?

$java = '/usr/bin/java'; 
$cmd = "$java -jar javafiles/register.jar < $tmpFile"; 

Что означает < до $ tmpFile? Поскольку, по-видимому, он загружает содержимое файла $ tmpFile с диска и вводит его непосредственно на консоль выполнения register.jar. Это так? Поскольку содержимое $ tmpFile имеет специальные символы, они не кодируются в правильной кодировке.

+0

Да. Оператор '<' читает файл и передает его в трубу «stdin» процесса –

+1

Это будет то же самое с любой другой командой linux, правильно? Это не особенность java. – Patrickdev

+0

@Patrickdev: право, оно не имеет ничего общего с java, оно работает таким образом с любым процессом, который читается из stdin. –

ответ

3

Это именно то, что он делает. В частности, он запускает программу и отправляет содержимое $tmpFile в стандартный ввод (System.in) исполняемой программы.

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