Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/05/2016, 09:56
andres18281
 
Fecha de Ingreso: febrero-2013
Ubicación: Cali Colombia
Mensajes: 118
Antigüedad: 11 años, 2 meses
Puntos: 0
max_time_execute con ignore_user_abort

Saludos.
Estoy intentando hacer que ejecute un script de envio de archivos pesados
de esta manera.
He leido algunos post y solo me imagino que podria funcionar de esta manera.
Obviamente estoy omitiendo el upload_move_file Y el $body es la ruta
donde envio el archivo hasta otro servidor.
El problema es que no envia archivos pesados porque aparece max_time_execute 120 etc ... cuando son archivos grandes, archivos pequeños funciona bien.

La direccion es una privada porque son dos servidores, tambien no quisiera colocar en
el php ini como limite de tiempo de ejecucion 0 por lo que puede haber procesos que
se este demorando mucho y lo mejor es cerrarlos automaticamente, la unica excepcion
es el fichero donde envia archivos, no puedo colocar un tiempo por que aveces hay
archivos de muchas gigas.

Me podria por favor colaborar como hacer para que funcione aunque el cliente cierre el navegador siga ejecutando el envio ?
Código PHP:
Ver original
  1. $body = Array('file_'=>new CurlFile('C:/wamp/www/images/'.$file_name),
  2.                     "id_client"=>$id_clien,
  3.                     "id_opera"=>$id_opera);
  4.       $ch = curl_init("http://10.10.20.xxx/recibe_archivos.php");
  5.             curl_setopt($ch,CURLOPT_POSTFIELDS, $body);
  6.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  7.             $dat = curl_exec($ch);
  8.             curl_close($ch);
  9.             echo $dat;
  10.       while(1){ // ¿Falló la conexión?
  11.         if(connection_status() != CONNECTION_NORMAL){
  12.             $ch = curl_init("http://10.10.20.xxx/recibe_archivos.php");
  13.             curl_setopt($ch,CURLOPT_POSTFIELDS, $body);
  14.             curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  15.             $dat = curl_exec($ch);
  16.             curl_close($ch);
  17.             echo $dat;
  18.         }
  19.             // Dormir durante 10 segundos
  20.             sleep(10);
  21.       }      
  22.       die;

Última edición por andres18281; 04/05/2016 a las 09:58 Razón: codigo mal escrito