http_put_data> <http_post_data
Last updated: Fri, 24 Feb 2012

http_post_fields

(PECL pecl_http >= 0.10.0)

http_post_fieldsPerform POST request with data to be encoded

Descrição

string http_post_fields ( string $url , array $data [, array $files [, array $options [, array &$info ]]] )

Performs an HTTP POST request on the supplied url.

Veja a lista completa de opções da requisição.

Parâmetros

url

URL

data

Associative array of POST values

files

Array of files to post

options

opções da requisição

info

Informações de requisição/resposta

Valor Retornado

Retorna a(s) resposta(s) HTTP como uma string em caso de sucesso, ou FALSE em caso de falha.

Exemplos

Exemplo #1 A http_post_fields() example

<?php
$fields 
= array(
    
'name' => 'mike',
    
'pass' => 'se_ret'
);
$files = array(
    array(
        
'name' => 'uimg',
        
'type' => 'image/jpeg',
        
'file' => './profile.jpg',
    )
);

$response http_post_fields("http://www.example.com/"$fields$files);
?>



http_put_data> <http_post_data
Last updated: Fri, 24 Feb 2012
 
User Contributed Notes
http_post_fields
dionmagnus at yandex dot ru
19-Feb-2010 02:11
Hear is an axmaple how to arrays as POST varibles:
<?php
 
  $response
= http_post_fields('http://example.com/page.php',
                                array(
'val[0]'=>'val1', 'val[1]'=>'val2'));
 
                               
  echo
"\$response: $response\n";                               
                               
?>
ya at kirilloid dot ru
02-Mar-2008 04:59
comment to wormholio's answer:
if you use regular expression, then use it fully:
"/HTTP\/\d\.\d 302 Found/"
Some servers still can use HTTP 1.0
wormholio at gmail dot com
28-Jan-2008 05:32
To use POST to submit a form to a site which requires a cookie for authentication you put the cookie in the $options array.  Example:

<?php

$auth
="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

$form_url="http://pirates.spy-hill.net/forum_reply.php?thread=663";

$message  = "RoboCodeDwarf now has the gold. \n\n";
$message .= "RoboCodeDwarf sez: [quote] " . `fortune -s` . "[/quote]\n";

$form_fields = array(
                    
'content' => $message,
                    
'add_signature' => 'add_it',
                    
'submit' => 'Post reply'  );
$form_files=array();
$form_options=array( 'cookies' => array( 'auth' => $auth ) );

$response = http_post_fields($form_url, $form_fields, $form_files, $form_options );

$n = preg_match("/HTTP\/1.1 302 Found/", $response, $matches);
if(
$n<1) echo "FAILED\n";
 else    echo
"POSTED\n";

?>
thomasxholder at compuserve dot de
07-Jan-2007 01:21
It was hard to figure out how to actually post files with this function. The "Array of files to post" is an array of associative arrays, each need the keys "name", "type" and "file". Consider this example code:

<?php
$files
= array(
    array(
       
'name' => 'somename',
       
'type' => 'text/plain',
       
'file' => $filename
   
)
);
$http_response = http_post_fields($url, $data, $files);
?>

http_put_data> <http_post_data
Last updated: Fri, 24 Feb 2012