Because this question seems to be frequently asked, and because I want to help make the answer easy to locate:
PHP code follows ...
$ch_post_data = array(
'property_name_1' => 'property_value_1',
'property_name_2' => 'property_value_2'
);
$ch = curl_init('http://somesite.com/somefiletocall.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $ch_post_data);
$str = curl_exec($ch);
$errstr = curl_error($ch);
curl_close($ch);
It really is that easy!