У меня есть Java-программа, которая генерирует HTML-файл. Программа на Java принимает два входных параметра: file1 и file2, выходной файл указывается с помощью "--file =".
При запуске из командной строки (UNIX, Mac OS 10.6.2) это выглядит так:
"java -jar program.jar http://my.testsite.com/test1.html http://my.testsite.com/test2.html --file=/path/to/jar/new_file_1274119954.html
При выполнении программы из командной строки создается файл "new_file_TIEMSTAMP.html"
Теперь я хочу выполнить эту же строку формы PHP, поэтому я создал следующий скрипт:
$file1 = 'http://my.testsite.com/test1.html';
$file2 = 'http://my.testsite.com/test2.html';
$newFile = '/path/to/jar/new_file_'.time().'.html';
<strong>system</strong>("java -jar program.jar $file1 $file2 --file=$newFile");
$handle = fopen($newFile, "r");
$output = fread($handle, filesize($newFile));
echo "$output";
Как видите, меня не интересует вывод консоли, а скорее файл, сгенерированный программой.
Я также использовал следующие вызовы для выполнения команды консоли, но ни один из них не работает при выполнении этого сценария PHP из моего браузера.
Я не уверен, есть ли какие-то специальные настройки, которые мне нужно включить в моем php.ini, или это что-то, что я делаю неправильно, но я не уверен, что делать сейчас.
Ваша помощь приветствуется
PD:
Я получаю одно сообщение об ошибке при использовании system :
javax.xml.transform.TransformerException: org.xml.sax.SAXException: setResult () должен быть вызван до startDocument ().