Lanzar una URL desde PHP - Instituto FOC | Informática ONLINE | FP Informática ONLINE

Especialistas en Informática

Lanzar una URL desde PHP

En muchas ocasiones se nos plantea que debemos ejecutar una página web desde la nuestra SIN PERDER EL CONTROL del flujo de ejecución en nuestra página. Veamos en este post cómo Lanzar una URL desde PHP en segundo plano, sin abandonar la página actual.

Es una situación por ejemplo que tenemos programada una web en la que agregamos información a una BD y despues queremos continuar con la ejecución de nuestra web.

Bien para eso existen varios modos de hacerlo. En este post nos centramos en el trabajo con la clase cURL de PHP.

A través de distintos métodos podemos tanto construir el enlace junto los parámetros a enviar.

Aquí comienza el primer problema. ¿Deseamos enviar los parámetros por POST o por GET?.

En el ejemplo que acompaño, yo construyo este envío por el método GET:

 

<?php

<…. código deseado …..>

$url = ‘http://www.miurl.es/guardardatos.php/’;
$fields = array(
‘nombre’ => urlencode($nombre),
‘apellidos’ => urlencode($apellidos),
‘email’ => urlencode($mail),
‘telefono’ => urlencode($telefono),
‘provincia’ => urlencode($provincia)
);
//Poner los parámetros en el formato correcto
foreach($fields as $key=>$value) { $parametros .= $key.’=’.$value.’&’; }
rtrim($parametros, ‘&’);

$url = $url . ‘?’ . $parametros;

//abrir conexión
$ch = curl_init();

curl_setopt($ch,CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

//Si lo deseamos podemos recuperar la salida de la ejecución de la URL
//$resultado = curl_exec($ch);

//cerrar conexión
curl_close($ch);

<…. código deseado …..>

?>

 

 

Como digo la idea es que el flujo de la aplicación continue en mi funcion. Se realizará una llamada a la URL http://www.miurl.es/guardardatos.php/, junto con los parámetros que creemos en el string $parámetros y podremos recibir lo que produzca la ejecución de esa web que se realizará eso sí en segundo plano sin que el usuario aprecie nada.

 

Certificaciones Profesionales

¿Necesitas ayuda?