Foros del Web » Programando para Internet » PHP »

Encadenar EJECUCIONES?

Estas en el tema de Encadenar EJECUCIONES? en el foro de PHP en Foros del Web. Hola amigos, alguien sabe como se pueden encadenar ejecuciones de varios 'php' secuencialmente?. Me explico un poco mas, 1) Realizo -desde local- la actualizacion de ...
  #1 (permalink)  
Antiguo 29/09/2003, 08:05
Avatar de barna_rasta  
Fecha de Ingreso: agosto-2003
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 11
Encadenar EJECUCIONES?

Hola amigos,
alguien sabe como se pueden encadenar ejecuciones de varios 'php' secuencialmente?.
Me explico un poco mas,
1) Realizo -desde local- la actualizacion de datos de varios equipos de la red interna via FTP.
2) Con el resultado generado despues me interesa en el SERVIDOR, - concretamente LYCOS de pago -, ejecutar varios php de actualizaciones de los ficheros subidos.
-------------- EL CODIGO _________
***** Este es el previo que no da problemas, son los fget y fput
$file_name='../tmp/clienped.sql';
$new_file_name="./download/clientes.sql";
//Descargo el FICHERO al temporal
$fget_result=ftp_get($conn_id, $new_file_name, $file_name, FTP_BINARY);
if ($fget_result==TRUE) echo 'TRANSFERENCIA de CLIENTES UNIX--->WIN<br>';
/////////////////// ********* Como este codigo varios, pero SIN PROBLEMAS.
***********************************************
********* AHORA VIENE EL PROBLEMA *******
***********************************************
echo '<SCRIPT LANGUAGE=JavaScript>window.location.href="http://www.mipagina.com/actupre.php"; </SCRIPT>';
echo '<SCRIPT LANGUAGE=JavaScript>window.location.href="http://www.mipagina.com/actucli.php"; </SCRIPT>';
echo '<SCRIPT LANGUAGE=JavaScript>window.location.href="http://www.mipagina.com/actuart.php"; </SCRIPT>';
***********************************
Solo ejecuta el primer SCRIPT,
como se puede hacer para que ejecute los tres?
----------
se que la solucion seria meter todo el codigo en uno, o que desde el primero llamara al segundo, etc.....
----- pero como el saber no ocupa lugar............................
se podria hacer esto de llamar uno a uno?
-------------------------------------------------------------

Rafagas y Saludos en V'sssss.
  #2 (permalink)  
Antiguo 29/09/2003, 08:25
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Logico que se pare. El location.href es una redireccion. En cuanto se ejecuta la primera, se salta a la pagina destino y no se ejecuta nada mas.

¿Esos scripts tienen salida al navegador que quieras ver? Si es asi, podrias hacer un window.open para que te los abriera en popups.

Si no tienen salida, podrias ponerlos como src de un <img>, uno para cada uno de los scripts.

Pero esto es suponiendo que el script lo llamas desde un navegador.

Tambien podrias mandar ejecutar el script via fopen() si tienes los fopen wrappers (www.php.net/wrappers) activados, simplemente haciendo:
Código PHP:
$fp=fopen("http://www.pagina.com/script1.php",'r'
Incluso podrias recoger el resultado a traves de $fp y analizarlo.

Y si no tienes los wrappers activados, todavia podrias hacerlo con fsockopen() (www.php.net/fsockopen) y realzar la peticion HTTP GET.

O si no quieres complicarte con el protocolo HTTP, puedes usar la extension cURL o la clase snoopy para simular un navegador de forma parecida a como se maneja el FTP con las funciones PHP.

Saludos.

PD: Estas son las soluciones que se me ocurren asi directamente, sin necesidad de modificar los scripts remotos. Otras soluciones podrian ser usar webservices con SOAP, o usar XML-RPC.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 29/09/2003, 12:41
Avatar de barna_rasta  
Fecha de Ingreso: agosto-2003
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 11
OK, gracias
para lo que necesitaba me decidi por la solucion 'fopen' .


Gracias mil!!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:36.