Ecuador, Sábado 19 de Mayo de 2012
Esta función ha sido creada para enviar datos a una url mediante metodo post, es una extracción del manual oficial de www.php.net |
function sendpost($direccion,$variables, $referido="") {
global $_SERVER;
//Desarmamos la URL definida en $dirección
$infodeurl=parse_url($direccion);
//En caso de que el parametro $referido no este definido
if($referido=="") $referido=$_SERVER["SCRIPT_URI"];
//Desglosamos las variables que se van a enviar
foreach($variables as $key=>$valor)
$valores[]=$key."=".urlencode($valor);
//Convertimos las Variables desglosadas en una cadena de consulta
$datos=implode("&",$valores);
//En caso de que el puerto no esté definido en la url
if(!isset($infodeurl["port"])) $infodeurl["port"]=80;
//Creamos la Data que se enviara por medio del socket
$retorno.="POST ".$infodeurl["path"]." HTTP/1.1
";
$retorno.="Host: ".$infodeurl["host"]."
";
$retorno.="Referer: $referer
";
$retorno.="Content-type: application/x-www-form-urlencoded
";
$retorno.="Content-length: ".strlen($datos)."
";
$retorno.="Connection: close
";
$retorno.="
";
//incluimos las variables en la data
$retorno.=$datos."
";
//Conectamos al dominio especificado en la URL
$fp = fsockopen($infodeurl["host"],$infodeurl["port"]);
//le enviamos los datos
fputs($fp, $retorno);
//Sacamos el resultado linea a linea
while(!feof($fp))
{
$resultado .= fgets($fp, 128);
}
//Cerramos la conexión con el servidor
fclose($fp);
//Y retornamos los datos.
return $resultado;
}
|
En el ejemplo 1 enviamos las variables que recibimos en el documento actual. |
echo sendpost("http://www.test.com/comentarios.php",$_POST,"http://www.ref.com/");
|
Y en el ejemplo 2 definimos las variables desde el script
$vars["nombre"]="Nombre";
$vars["user"]="user";
$vars["comentarios"]="Enviando variables desde el post.";
echo sendpost("http://www.test.com/comentarios.php",$vars,"http://www.ref.com/");
|
|
Comentarios |

