By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,823 Members | 730 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,823 IT Pros & Developers. It's quick & easy.

sending basic data between php functions on internet

P: n/a
Hey can U help me with the following?

I would like to send basic data (like a set of integers & strings) from
one php function to another php function.

Sounds easy, However, the functions are located on a different computer.

Or, said differently, I would like to use

function oncomp1($integer1, $string1, $string2)
{
// ...
//string3 = function of string2

//<-- call oncomp2($string1,$string3,$integer1);
}

where function oncomp1 is on computer 1, and oncomp2 is on computer 2.

What to do?
The strings can be to long (a few kb) to pass it simply in the URL.
However WDDX is heavily overkill, because u need to compile php with
--enable-wddx to use those functions. And WDDX do not cover communnication.

Greetings,
Edwin
Jul 17 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
Edwin Rozie wrote:

Hi Edwin,
Hey can U help me with the following?

I would like to send basic data (like a set of integers & strings) from
one php function to another php function.

Sounds easy, However, the functions are located on a different computer.

Or, said differently, I would like to use

function oncomp1($integer1, $string1, $string2)
{
// ...
//string3 = function of string2

//<-- call oncomp2($string1,$string3,$integer1);
}

where function oncomp1 is on computer 1, and oncomp2 is on computer 2.

What to do?
The strings can be to long (a few kb) to pass it simply in the URL.
However WDDX is heavily overkill, because u need to compile php with
--enable-wddx to use those functions. And WDDX do not cover
communnication.
Why not post it to a receiving script on server2?
You can mimic a posting using CURL.
www.php.net -> find CURL

Good luck!

Regards,
Erwin Moller


Greetings,
Edwin


Jul 17 '05 #2

P: n/a
> Why not post it to a receiving script on server2?
You can mimic a posting using CURL.
www.php.net -> find CURL


I remember that I've found a PHP script that mimics posting. It's
somewhere on www.php.net, in user comments under "POST" I believe.

Cheers
Mike

Jul 17 '05 #3

P: n/a
Hey all :)

Michał Woźniak wrote:
I remember that I've found a PHP script that mimics posting. It's
somewhere on www.php.net, in user comments under "POST" I believe.

Do u remember more details about the script? I readed
http://be.php.net/variables.external completly and didnt found it.
Google couldnt help me neether, I tryed multiple searches.

Thx for helping me out!
Jul 17 '05 #4

P: n/a
Michał Woźniak wrote:
Why not post it to a receiving script on server2?
You can mimic a posting using CURL.
www.php.net -> find CURL

I remember that I've found a PHP script that mimics posting. It's
somewhere on www.php.net, in user comments under "POST" I believe.


Ah, I found it :)

For the people who want to use this in the future: It is in a reply of
lukas on http://be2.php.net/manual/en/ref.curl.php.

The script is:

<?
function HTTP_Post($URL,$data, $referrer="") {

// parsing the given URL
$URL_Info=parse_url($URL);

// Building referrer
if($referrer=="") // if not given use this script as referrer
$referrer=$_SERVER["SCRIPT_URI"];

// making string from $data
foreach($data as $key=>$value)
$values[]="$key=".urlencode($value);
$data_string=implode("&",$values);

// Find out which port is needed - if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;

// building POST-request:
$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";
$request.="Host: ".$URL_Info["host"]."\n";
$request.="Referer: $referer\n";
$request.="Content-type: application/x-www-form-urlencoded\n";
$request.="Content-length: ".strlen($data_string)."\n";
$request.="Connection: close\n";
$request.="\n";
$request.=$data_string."\n";

$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);

return $result;
}

$output1=HTTP_Post("http://www.server1.com/script1.php",$_POST);
$output2=HTTP_Post("http://www.server2.com/script2.php",$_POST);
?>
Jul 17 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.