On admet les données à envoyer, par la méthode POST, regroupées en un tableau. Exemple : $post = array( 'q' => 'fr', 'login' => 'foo', 'password' => 'bar', 'submit' => TRUE, ); var_dump( http_post('http://un-domaine.ext/chemin/vers/la/ressource.ext', $post) ); ====== Avec allow_url_fopen (PHP 5 uniquement) ====== function http_post($url, Array $post) { $data = http_build_query($post); return file_get_contents( $url, FALSE, stream_context_create( array( 'http' => array( 'method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\nContent-Length: " . strlen($data) . "\r\n", 'content' => $data, ) ) ) ); } ====== Avec cURL (PHP 4 comme 5) ====== function http_post($url, Array $post) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $ret = curl_exec($ch); curl_close($ch); return $ret; } cURL a pour avantage de permettre l'envoi de fichiers. À cette fin, il suffit simplement de préfixer la valeur du tableau d'un arobase (un chemin absolu - fonction realpath pour faire la conversion - est vivement recommandé). Exemple (clé avatar) : $post = array( 'q' => 'fr', 'login' => 'foo', 'password' => 'bar', 'submit' => TRUE, 'avatar' => '@' . realpath('monNouvelAvatar.gif'), );