function getGrabImageTmpl($sInputFile, $sOutputFile, $sSize = "", $iSecond = 0)
{
    global $aConvertTmpls;
    return prepareCommand($aConvertTmpls["image"], array("input" => $sInputFile, "second" => $iSecond, "size" => empty($sSize) ? "" : $sSize, "output" => $sOutputFile));
}
Exemple #2
0
function sendIPCommand($address, $service_port, $item_address, $command, $check = false)
{
    if (!($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
        $errorcode = socket_last_error();
        $errormsg = socket_strerror($errorcode);
        die("Couldn't create socket: [{$errorcode}] {$errormsg} \n");
    }
    //echo "Attempting to connect to '$address' on port '$service_port'...";
    $result = socket_connect($socket, $address, $service_port);
    if ($result === false) {
        echo "socket_connect() failed.\nReason: ({$result}) " . socket_strerror(socket_last_error($socket)) . "\n";
    } else {
        //echo "OK.\n";
    }
    $payload = '';
    $payload = prepareCommand($item_address, $command);
    //echo "Sending request:";
    //echo binaryToString($payload)."\n";
    socket_write($socket, $payload, strlen($payload));
    //echo "OK.\n";
    //echo "Reading response:\n";
    $buf = 'This is my buffer.';
    if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
        //echo "Read $bytes bytes from socket_recv(). Closing socket...";
    } else {
        echo "socket_recv() failed; reason: " . socket_strerror(socket_last_error($socket)) . "\n";
    }
    socket_close($socket);
    $message = binaryToString($buf);
    //echo "Return: $message<br/>";
    if (strlen($message) < 5 * 2) {
        return false;
    }
    if ($check) {
        $tmp = HexStringToArray($message);
        $data_len = $tmp[2];
        $latest = substr($message, -4);
        $message = substr($message, 0, strlen($message) - 4);
        $message = substr($message, 3 * 2);
        $new_len = floor(strlen($message) / 2);
        if ($new_len != $data_len) {
            return false;
        }
    }
    return $buf;
}