简体   繁体   中英

Ajax-like callback to remote page with php

In javascript or jquery you a function can do a callback to remote webpage. The remote page does some processing and something/nothing maybe returned to the calling function.

For example: $.ajax( http://someurl.php?querystring )

How do I do this in php?

<?php
    'Doing some stuff
    remote_call(http://someurl.php?querystring) 'Let the page know I did stuff
    'more php
?>

Everywhere I can find is either talking about a php function callback or reading file contents. I don't want to read the file contents, I just want to call the remote page and move on. Is it possible?


I can't answer my own question in this forum so I am putting the answer here.

Here is what worked for me. YMMV

$host = "http://somedomain.com/process.php?querystring";
curlMe($host);
function curlMe($host)
{
    $ch = curl_init($host);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
}

You could just make a async request to the remote page by closing the socket immediately so the php code doesn't block and forget about the result.

<?php
    private function request($body) {

    $protocol = "http";
    $host = "domain.com";
    $port = 80;
    $path = "/somepage.php" . $body;
    $timeout = 10;

    try {
      # Open our socket to the API Server.
      $socket = fsockopen($protocol . "://" . $host, $port,
                          $errno, $errstr, $timeout);

      # Create the request body, and make the request.
      $req = $this->create_body($host, $path, $content);
      fwrite($socket, $req);
      # ...
    } catch (Exception $e) {
      # ...
    }
}
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM