Foros del Web » Programando para Internet » PHP »

Aplicacion en PHP actualizable, ftp o como ??

Estas en el tema de Aplicacion en PHP actualizable, ftp o como ?? en el foro de PHP en Foros del Web. Hola. Estoy intentando hacer un script en php que tenga la posibilidad luego de actualizarse en caso de mejoras. Esta actualiacion consiste simplemente en copiar ...
  #1 (permalink)  
Antiguo 28/01/2008, 15:50
 
Fecha de Ingreso: agosto-2002
Mensajes: 202
Antigüedad: 21 años, 8 meses
Puntos: 1
Aplicacion en PHP actualizable, ftp o como ??

Hola. Estoy intentando hacer un script en php que tenga la posibilidad luego de actualizarse en caso de mejoras. Esta actualiacion consiste simplemente en copiar una carpeta desde un servidor hacia el servidor en donde este instalado este script. Lo trate de hacer creando una cuenta ftp que contenga la carpeta y que el script se loguee y la descargue pero encuentro algunos problemas.

Un problema pequeño seria que puedo transferir archivos pero no la carpeta completa, pero se podria resolver haciendo algun loop, no seria tan dificil. Pero el otro problema que tengo es que en caso de no estar disponible el servidor ftp, el script queda ejecutandose hasta que finalizce el tiempo maximo de ejecucion de apache y eso no me gusta porque me imagino que exceder ese tiempo no va bien aceptado en ningun hosting comun, que seria en donde estarian instalados los php.

Actualmente lo hice asi:

Código PHP:
<?php
if($conexion ftp_connect ("ftp://......",21)){ 
  if(
ftp_login($conexion,"usuario","clave")){ 

    echo 
ftp_get($conexion,.....);

  } else echo 
"Error: usuario o contraseña incorrectas"

} else echo 
"El servidor FTP no responde"
ftp_close($conexion);
?>
Queria consultarles si alguien sabe si se podria resolver el problema de la conexion, es decir que si no esta disponible se corte y de error (el script al estar instalado en cualquier cuenta no tendria acceso a las variables de configuracion de php para establecer ese tiempo) y sino de que otra forma distinta aunque no sea ftp puede hacerse o si alguien sabe como funcionan muchas de las aplicaciones prefabricadas que permiten esa opcion de actualizacion directamente.

Gracias por cualquier aclaracion
Leo
__________________
Principio Legal Legalidad en la web y Directorio de Software Open Source
Pais Once El lugar donde descubrir una ciudad

Última edición por leoi; 28/01/2008 a las 15:59
  #2 (permalink)  
Antiguo 28/01/2008, 22:07
 
Fecha de Ingreso: agosto-2002
Mensajes: 202
Antigüedad: 21 años, 8 meses
Puntos: 1
Re: Aplicacion en PHP actualizable, ftp o como ??

Lo he resuelto, era mas simple de lo que parecia. La función ftp_connect tiene un tercer parametro que es el timeout en segundos. Poniendole un valor pequeño se evita exceder el timeout de ejecucion de los php.

Igualmente muchas gracias,
Leo
__________________
Principio Legal Legalidad en la web y Directorio de Software Open Source
Pais Once El lugar donde descubrir una ciudad
  #3 (permalink)  
Antiguo 28/01/2008, 22:17
 
Fecha de Ingreso: enero-2008
Mensajes: 6
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Aplicacion en PHP actualizable, ftp o como ??

ftp_set_option --------------------->This function controls various runtime options for the specified FTP stream.

Currently, the following options are supported:
Supported runtime FTP options

FTP_TIMEOUT_SEC->> ESTA ES LA QUE TE INTERESA ATI Changes the timeout in seconds used for all network related functions. value must be an integer that is greater than 0. The default timeout is 90 seconds.
FTP_AUTOSEEK When enabled, GET or PUT requests with a resumepos or startpos parameter will first seek to the requested position within the file. This is enabled by default.






<?php
// Set the network timeout to 10 seconds
ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 10);
?>

http://mx2.php.net/manual/en/function.ftp-set-option.php

http://www.kimerop.exofire.net

Espero y sirva de algo...
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 19:17.