Foros del Web » Programando para Internet » PHP »

Recoger datos de autómatas

Estas en el tema de Recoger datos de autómatas en el foro de PHP en Foros del Web. Hola Quiero recoger unos datos de autómatas en un archivo de tipo csv, leerlos y representarlos en la web. El archivo de datos está cambiando ...
  #1 (permalink)  
Antiguo 07/11/2003, 03:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 109
Antigüedad: 20 años, 6 meses
Puntos: 1
Recoger datos de autómatas

Hola

Quiero recoger unos datos de autómatas en un archivo de tipo csv, leerlos y representarlos en la web.

El archivo de datos está cambiando constantemente y había pensado hacer subirlo constantemete al servidor. Así he empezado, no me da ningún error pero el fichero no se actualiza.

Este es el código. Gracias.

$ruta_servidor= "/html/automatismos/vars.csv";
$ruta_local="H:\\vars.csv";
$conexion=ftp_connect ("ftp.miserver.net");
$usuario=ftp_login ( $conexion, "milogin", "mipass");
if ($usuario)
{
ftp_put ($conexion, $ruta_servidor, $ruta_local, FTP_ASCII);
$archivo="vars.csv";
$lineas=file($archivo);
echo "archivo abierto";
echo $lineas[0];
}
  #2 (permalink)  
Antiguo 07/11/2003, 04:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Veamos, cuando usas las funciones PHP de FTP, la maquina donde corre el PHP es el cliente FTP, que se conecta aun servidor FTP (sea en la misma maquina o en otra).

Asi que tu codigo para funcionar deberia estar en la maquina local, donde esta h://vars.csv. Si esta en el servidor, todos los terminos que veas en el manual de "local" se refiere al equipo que ejecuta el PHP, es decir, el servidor web. No la maquina cliente que visualiza la pagina. PHP siempre se ejecuta en el servidor.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 07/11/2003, 04:56
 
Fecha de Ingreso: octubre-2003
Mensajes: 109
Antigüedad: 20 años, 6 meses
Puntos: 1
pues no...

Osease que si mi máquina no es el servidor donde tengo alojadas los archivos no puedo utilizar estas funciones...

¿Sabéis si hay alguna otra posibilidad para el problema que planteo?
  #4 (permalink)  
Antiguo 07/11/2003, 05:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Tal como lo tienes no. Lo que pasa que si es solo para tu maquina, y esta esta conectada a internet con IP fija (o con un metodo para poder resolver la IP), puedes instalar un servidor FTP en tu maquina, conectarte a tu maquina con ftp_connect() y trabajar con un script parecido al tuyo, pero teniendo en cuenta que "remoto" seria tu maquina, y que "local" seria el serivdor. Y en lugar de ftp_put() seria ftp_get().

Eso si, esto supondria tener tu maquina "abierta" a internet por el puerto de FTP. Tendrias que cuidar la seguridad.

Porque imagino que quieres que sea el servidor web (PHP) el que solicite el fichero. Si quieres que sea al reves, que sea tu maquina la que decida enviar el fichero, necesitarias un programa que "emule" un HTTP UPLOAD. Y con ese programa automatizar el upload del fichero.

En fin, esto es lo que se me ocurre. Si alguien tiene alguna otra idea, bienvenida sea.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 07/11/2003, 08:09
 
Fecha de Ingreso: octubre-2003
Mensajes: 109
Antigüedad: 20 años, 6 meses
Puntos: 1
otra duda

Ya tengo resuelto el problema de la carga de ficheros.

Lo voy a hacer sin salida a Internet dentro de la red local, instalando apache en el equipo que tiene los datos del autómata y abriendo el fichero con fopen r.

Ahora viene el segundo problema:

¿cómo podría hacer que los datos se actualicen dinámicamente sin recargar la página?

Había pensado que si el archivo cambia (filemtime) vuelva a leer los datos y limpie los anteriores pero esta comprobación la querría hacer cada 2 segundos... Si entro en un bucle infinito se cuelga la página... claro...
  #6 (permalink)  
Antiguo 07/11/2003, 08:15
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bien, PHP se ejecuta en el servidor. Y solo se ejecuta cuando se llama a cargar la pagina. Asi que si quieres que PHP lea los nuevos datos, debes mandar recargar la pagina. Y eso lo haces con javascript o HTML.

Existe un "truco" para simular que no se recarga la pagina. Es usando el remote scripting. Cluster ha puesto en varios mensajes un link que nunca recuerdo, asi que si pones en el buscador remote scripting saldra.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 07/11/2003, 08:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 109
Antigüedad: 20 años, 6 meses
Puntos: 1
...uff

Creo que me va a resultar más sencillo, si utilizo flash.

Si me queda majo ya os daré un link para que lo veáis.

Gracias por la ayuda.
  #8 (permalink)  
Antiguo 07/11/2003, 10:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Justamente con "flash" lo que vas hacer es algo tipo "remote scripting" .. osease, en tu "película" llamaras a intervalos de tiempo a tu "loadVariable" (o como sea el comando Action Script) .. Pero la base es la misma: Si lanzas el script vía web debes de recargar tu página para que se haga la petición al servidor y tu script PHP haga su proceso.

Otras soluciones ...

Un Cron Job (linux) (o "Programador de tareas para windows") donde ejecutes tu script a intervalos de tiempo que tu definas ... En realidad no ejecutas el script en sí .. sino llamas a PHP -> y tu script.php a ejecutarse .. Pero eso ya no lo haces tu (un "humano") sino eso mismo, esa aplicación.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 17:02.