Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2010, 11:16
hcbosch
 
Fecha de Ingreso: julio-2010
Mensajes: 64
Antigüedad: 13 años, 9 meses
Puntos: 1
capturar arreglo utilizando curl y simulando hilos

Hola a todos:
Comencé a trabajar con la libreríA curl y php con la idea de simular hilos en php.
Aquí va mi código, que funciona perfectamente para ejecutar los 5 recursos en paralelo:
<?php

include('../adodb/adodb.inc.php');
include('../adodb/adodb-error.inc.php');



// Crea los dos recursos cURL
$ch1=curl_init("http://gestion/sitioHeidy/p_1.php");
$ch2=curl_init("http://gestion/sitioHeidy/p_2.php");
$ch3 = curl_init("http://gestion/sitioHeidy/p_3.php");
$ch4= curl_init ("http://gestion/sitioHeidy/p_4.php");
$ch5= curl_init ("http://gestion/sitioHeidy/p_test.php");
//echo ("$ch1");
// Establecer la URL y otras opciones apropiadas
curl_setopt($ch1, CURLOPT_URL, "http://gestion/sitioHeidy/p_1.php");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://gestion/sitioHeidy/p_2.php");
curl_setopt($ch2, CURLOPT_HEADER, 0);
curl_setopt($ch3, CURLOPT_URL, "http://gestion/sitioHeidy/p_3.php");
curl_setopt($ch3, CURLOPT_HEADER, 0);
curl_setopt($ch4, CURLOPT_URL, "http://gestion/sitioHeidy/p_4.php");
curl_setopt($ch4, CURLOPT_HEADER, 0);
curl_setopt($ch5, CURLOPT_URL, "http://gestion/sitioHeidy/p_test.php");
curl_setopt($ch5, CURLOPT_HEADER, 0);
//print_r(curl_getinfo($ch1));

curl_setopt($ch1, CURLOPT_RETURNTRANSFER, 1);
//$result = curl_exec ($curl);
$resultado = curl_exec($ch1);
echo ("resultado=$resultado");
// Crea el recurso cURL múltiple
$mh = curl_multi_init();

// Añade los dos recursos
curl_multi_add_handle($mh,$ch1);

curl_multi_add_handle($mh,$ch2);
curl_multi_add_handle($mh,$ch3);
curl_multi_add_handle($mh,$ch4);
curl_multi_add_handle($mh,$ch5);

$active = null;

do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
// echo ("Llega aquí");
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}

}

// Cierra los recursos
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_remove_handle($mh, $ch3);
curl_multi_remove_handle($mh, $ch4);
curl_multi_remove_handle($mh, $ch5);

global $valor_por1;
//curl_close($mh);
var_dump($valor_por1);
?>

Mi problema es cada una de las paginas: p_1.php,p_2.php, p_3.php, p_4.php y p_test.php, devuelven arreglos que necesito en la pagina donde las llamo. Como puedo hacer para capturar esos arreglos desde la página donde las mando a ejecutar en paralelo. Aclaro que esos arreglos están declarados como globales.
alguien me puede ayudar con esto, please?