PHP - Sincronizacion automatica de archivos entre local y remoto

   
Vista:
Imágen de perfil de dryant

Sincronizacion automatica de archivos entre local y remoto

Publicado por dryant (4 intervenciones) el 20/06/2016 19:00:01
Hola a todos!
Estoy creando una aplicacion web en la cual, se reciben unas ubicaciones y se muestran en un mapa de Google con la API de Google maps.
El archivo que contiene las ubicaciones me lo proporciona un programa que se ejecuta en local. Este programa local, genera un archivo html.
Hasta ahora lo que he conseguido es lo siguiente:
En local:
El archivo html con las ubicaciones es parseado por PHP y extraido de él solo la latitud y la longitud.
El archivo que contiene el javascript con el mapa de google maps recoge dichas variables (lat y long) y muestra con un marcador las ubicaciones en el mapa.
con <meta http-equiv="refresh" content="30"> se refcarga la pagina cada 30 segundos mostrando de nuevo la nueva ubicacion en el mapa.

El problema viene cuando subo mi web al servidor.... Como podreis deducir mi problema es como enviar automaticamente ese archivo al servidor cada 30 segundos....

He pensado en lanzar un tarea cron en mi local, pero seguro que hay una forma mas profesional de hacerlo. Lo ideal sería que desde el propio servidor remoto, lanzar un archivo php que se conectara directamente a mi carpeta local y cogiera de ahi el archivo... o algo por el estilo, para no tener que depender de tener que lanzar un programa ftp en el local para enviar el archivo cada vez que quiera ver las nuevas ubicaciones...

Que formas conoceis para poder solventar este problema?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Sincronizacion automatica de archivos entre local y remoto

Publicado por xve (5520 intervenciones) el 20/06/2016 21:14:04
Hola Dryant, la manera que yo lo haría, es tal y como comentas, es decir ejecutar en el cron cada 30 segundos y subir el archivo al servidor mediante un webservice, es decir enviarlo como si fuera una petición web con cURL y que el servidor lo espere como si fuera enviar por un formulario.

Si empiezas a abrir puertos en tu router, tendrás que tener una ip fija o sistema de control de DNS, etc... es un lio... yo prefiero siempre permitir subir el archivo con un webservice que no tendrás ningún problema.

Espero que te sirva de ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de dryant

Sincronizacion automatica de archivos entre local y remoto

Publicado por dryant (4 intervenciones) el 20/06/2016 22:11:06
Hola xve. Si que me sirve de ayuda! Muchas gracias.
Lo intentaré como dices.
Un saludo y gracias de nuevo!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Sincronizacion automatica de archivos entre local y remoto

Publicado por xve (5520 intervenciones) el 21/06/2016 08:04:42
Ya nos comentaras como te fue!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de dryant

Sincronizacion automatica de archivos entre local y remoto

Publicado por dryant (4 intervenciones) el 02/11/2016 11:13:28
Hola de nuevo!

Estoy de nuevo liado con este proyecto, por lo que retomo el tema.

Cree un script php (enviararchivo.php) el cual envía por post mediante curl el archivo de mi ordenador al servidor. En el servidor hay otro archivo php (recogerarchivo.php) que se encarga de recibir el archivo y colocarlo en la carpeta correspondiente... pero ahora me surge otro inconveniente....

En mi ordenador funciona perfectamente ya que tengo un servidor local el cual ejecuta sin problemas el script enviararchivo.php... Pero necesito hacer este script "universal" es decir que se ejecute desde cualquier ordenador aunque no tenga un servidor local instalado.

He pensado, a ver si es correcto, hacer el script enviararchivo.php y subirlo al servidor mio, y darle la ruta del archivo que quiero subir cada 20 segundos (que siempre es la misma c:/ProgramFiles/Programa/log.xml) y en la tarea cron espscificar la ruta de mi script enviararchivo.php pero colocado en mi servidor.

Crees que esto así funcionará?
Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de dryant

Sincronizacion automatica de archivos entre local y remoto

Publicado por dryant (4 intervenciones) el 05/11/2016 10:20:03
Bueno, pensándolo bien no creo que la opción que he dado funcione,...
Se le ocurre a alguien una solución para que el script funcione bien en cualquier ordenador aunque no tenga un servidor local corriendo?
Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar