есть внешняя программа виндоус и вот такой хелп по использованию ее API
пожалуйста, подскажите, как конкретно это можно применить для моих проектов?
допустим у меня есть текст в ЗП, который я положил в переменную article, как при помощи функции Synomize($Text); отправить этот текст в программу и вернуть результат в ту же переменную?
Код:
<h1>Демо использования SynApi</h1>
<br />
Для того чтобы синомизировать текст достаточно написать: <b>Synomize($Text);</b> Эта функция вернет синомизированный текст<br />
Качество можно задать так: <b>Synomize($Text,$Flag)</b>, где флаг $Flag от 0 до 3500, Чем он выше тем хуже качество, но выше процент замен<br />
На локалхосте должен быть запущен синомайзер.<br />
Можно работать с синомайзером с другой машины. Для этого вызывайте <b>Synomize($Text,$Flag,$Host)</b>, где $Host название домена, апи, имя в локальной сети машины с запущеным синомайзером<br />
<?php
function Synomize($Text,$Flag=2500,$Host="127.0.0.1")
{//Возвращает синомизированный текст
if(!$Flag)
$Flag=0;//Это на всякий случай
$sock = fsockopen ($Host, 4396, $errno, $errstr); //открываем сокет
if (!$sock)
echo("$errno($errstr)");
else
{
fputs ($sock, "20010,0,$Flag,$Text");//фигачим сообщение
$result=fread ($sock,1000000);//читаем
fclose($sock);
return $result;
}
}
function isSynApiAvalible($Host="127.0.0.1")
{//Проверяет наличие доступность интерфейса SynApi
// НЕ особо нужная функция так для хорошего стиля
$sock = fsockopen ($Host, 4396, $errno, $errstr);
fputs ($sock, "20000,0,0,NONE");
$result=fread ($sock,1000000);
fclose($sock);
if($result=='333')
return true;
if($result=='-102')
return 'Интерфейс SynApi недоступен, это на машине Установлена демо версия';
if($result=='-102')
return 'Интерфейс SynApi доступен, однако с ограничениями Лайт версии';
if($result=='-103')
return 'Интерфейс SynApi был отключен пользователем приложения';
if($result=='-104')
return 'Интерфейс SynApi недоступен, поскольку программа еще не до конца загрузилась';
return $result;
}
if($_POST['text'])
{
if(isSynApiAvalible()===true)
echo '<h2>Результат</h2>:'.Synomize($_POST['text'], $_POST['flag']);
else
die (isSynApiAvalible());
}
?><br />
<form method="post">
Текст:<br />
<textarea name="text" cols="60" rows="10"><?php echo $_POST['text'];?></textarea><br />
Флаг:<br />
<select name="flag">
<option value="0">нет (Лучшее качество)</option>
<option value="500">-А</option>
<option value="1000">-</option>
<option value="1500">- -А</option>
<option value="2000">--</option>
<option value="2500">-- -А</option>
<option value="3000">---</option>
<option value="3500">--- -А (Лучшая уникальность)</option>
</select>
<input type="submit" />
</form>
допустим у меня есть текст в ЗП, который я положил в переменную article, как при помощи функции Synomize($Text); отправить этот текст в программу и вернуть результат в ту же переменную?