Сценарий PHP-слушателя, который может читать входящие переменные $ _REQUEST или $ _POST - PullRequest
0 голосов
/ 22 июля 2011

Я пытаюсь написать PHP-скрипт, который прослушивает входящие переменные $ _REQUEST или $ _POST, которые отправляются веб-приложением в рамках двусторонней связи.

HTTP-вызовы GET будут выполняться в веб-приложении в формате, аналогичном this .

Затем WEBAPP отправит POST-ответ на мой скрипт слушателя (http://TRAVISNG.com/listener.php)), и поэтому мне было интересно, сможет ли мой php-скрипт его проанализировать без выполнения вручную сценария php?

Обратите внимание, что я не имею в виду написание сценария, который прослушивает сетевые запросы на сокете.

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

Вот часть кода, который я написал:

<?php

    // Read incoming POST request
    if (!empty($_POST)){
        $params = join(" ", $_POST);
        //print_r($params);
        echo "|$params|";
    }

    // Print params & timestamp to file called listenerLog.txt
    $logFile = "http://travisng.com/listenerLog.txt";

    $fileHandle = fopen($logFile, 'a') or die("Unable to open the listenerLog.txt.");
    fwrite($fileHandle, $params);
    fclose($fileHandle);

    $output = file_get_contents($logFile);

    // Print listenerLog.txt
    //echo $output;

?>

Приветствия

Travis

Ответы [ 2 ]

1 голос
/ 22 марта 2012

Чтобы решить эту проблему, я решил создать сценарий прослушивания CGI и обработать параметры REQUEST оттуда.Сценарий CGI вызывался всякий раз, когда проходил запрос GET / POST и запросы записывались в файл журнала.

0 голосов
/ 22 июля 2011

В зависимости от вашего примера вызова / URL они будут в глобальном $ _GET.

Так что попробуйте:

// Read incoming POST request
if (!empty($_GET)){
    $params = join(" ", $_GET);
    //print_r($params);
    echo "|$params|";
}

Вы можете использовать $_REQUEST - он будет содержать элементы $_GET и $_POST и (в зависимости от версии или конфигурации php.ini $_COOKIE тоже).

...