[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как связать переменную php c переменной с++?
Alsou93
Как связать переменные двух разных программ, т. е переменную php c переменной с++?

Мне нужно считывать данные с ком порта с помощью программы c++ и полученные значения (0 и 1) передавать программе php.
sergeiss
Alsou93, какие свои наработки, соображения? Проблема в с++, в ПХП или еще где?

И вообще. Опиши свою задачу более подробно.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Alsou93
Вообщем мне нужно подключить акустический датчик к входу lpt порта, и всякий раз когда будет шум, контакты будут замыкаться, отсюдова программа написанная на c++ будет считывать полученные данные с порта. Далее мне эти полученные значения нужно будет передать на php скрипт, чтобы в зависимости от полученных значений с сom-порта вывести соответствующий баннер на сайт или выполнить соответствующую программу. Программа на с++ уже написана, теперь не знаю как php-скрипт будет связываться с переменными этой программы. Тут наверное нужна какая-нибудь глобальная переменная?
Winston
У php есть функции для работы с COM http://ua1.php.net/manual/ru/ref.com.php
AllesKlar
Winston
Ему для физического порта нужно, а не для Microsoft Component Object Model

Alsou93
Цитата
теперь не знаю как php-скрипт будет связываться с переменными этой программы

Никак он не будет связываться с переменными.
Это вообще невозможно, переменные - это внутренние вещи.
Если нужно передавать значения в скрипт, то либо через внешние источники (файл, база, etc), либо вызов скрипта с параметрами.
php скрипт вызывается с параметрами так:
script.php?p1=val1&p2=val2&p3=val3

В скрипте параметры доступны в глобальном массиве GET
$var1 = GET['p1'];
$var2 = GET['p2'];
$var3 = GET['p3'];


_____________
[продано копирайтерам]
sergeiss
Цитата (Alsou93 @ 23.02.2014 - 00:22)
чтобы в зависимости от полученных значений с сom-порта вывести соответствующий баннер на сайт или выполнить соответствующую программу.

Я не зря спросил у тебя, что надо сделать smile.gif

Как уже верно заметили другие форумчане, напрямую связать Си и ПХП практически не возможно. Да и не имеет смысла, вобщем-то.
Я так вижу, что ты не понимаешь, как работает ПХП. Поясню. Задача ПХП - создать страницу, отдать ее браузеру - и забыть про неё! Будет еще одно обращение - создадим еще одну страницу и т.д.

Поэтому, в твоем случае, я бы так сделал. Пусть Сишная прога кладет данные в БД, с указанием даты-времени и уровня измеренной величины (или хоть 100 величин разных, не суть важно).
А на ПХП и JS создается такая система: есть 2 скрипта ПХП, в одном из которых работает Javascript, использующий AJAX (асинхронное обращение к серверу). Вот этот "первый" скрипт запускаем, он уходит в браузер и там начинает работать JS. И уже JS периодически вызывает второй ПХП-скрипт, который лезет в БД и проверяет наличие новых данных. Если они есть, то он из забирает и отсылает обратно той странице браузера, что запросила данные.
В браузере можно построить графики, вывести баннеры, что-то другое поменять на странице - как хочешь, так и сделаешь.

Вся эта процедура, возможно, выглядит довольно муторной smile.gif. Но, на самом деле, всё довольно просто делается. Существенно то, что сишная программа и
скрипт ПХП могут находиться на разных компах. Главное, чтобы у них был доступ к единой БД.

PS. Уже написал ответ, после чего нашел дискуссию на нашем же форуме, по аналогичному вопросу: http://www.phpforum.ru/index.php?showtopic=18271

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Alsou93
Я решил вместо базы данных использовать файл, т.е все значения с порта будут записываться в txt файл, php-скрипт будет открывать, считывать его и в зависимости от значения в файле, будет запускать тот или иной exe-шник. Теперь следующий вопрос: Можно ли как-то запустить в этом php-скрипте exe-шники. Я попробывал, но почему то не запускаются. Вообщем мне нужно, чтобы при реакции какого-либо датчика, запускалась та или иная программа. Допустим при срабатывании датчика звука, включалось бы какое-нибудь устройство, например лампа.

<?php
$fp = fopen("c:\\mysite\\Portlpt\\fajl6.txt", "r"); // Открываем файл в режиме чтения
if ($fp)
{
while (!feof($fp))
{
$mytext = fgets($fp, 999); //Cчитываем значение, например 10000000, первая 1-ца это значение первого замкнувшего контакта в lpt-поре, т.е где к примеру подключен датчик звука
if($mytext==10000000)
{
echo 'Вход посторонних!!!<br />';
exec( 'с:\\mysite\\ConsoleApplication1.exe' );// запуск программы, для включения какого-либо устройства
}
else echo "Ошибка";
if($mytext==01000000) // вторая еденица это значение второго замкнувшего контакта, т.е реагирование какого-либо датчика.
{
echo 'Нужно включить отопление!!!<br />';
exec( 'с:\\mysite\\ConsoleApplication1.exe' );//запуск программы
}
else echo "Ошибка";
//echo $mytext."<br />";
}
}

else echo "Ошибка при открытии файла";
fclose($fp);
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.