Hola!
El programa consiste en que cada x tiempo, ejecuto un comando de UNIX, este genera una salida en un fichero, lee del fichero una cadena, y en funcion de esa cadena, actualiza un formulario.
Ese fichero se genera cada x tiempo, por lo que espero a que se genere, y lo vuelvo a leer.
En el foro de PHP hice la siguiente pregunta:
¿Porque la variable $salida siempre me tiene el valor de la primera lectura (cuando se ejecuta por primera vez)?
El fichero va teniendo valores distintos, pero me conserva siempre el primero.
Y me contestaron que es porque asi funciona PHP. Que lo que quería hacer, se podía hacer con AJAX, llamar de forma asíncrona a ese "script" php. Pero no se como hacerlo. Un ayuda?
<script language=javascript>
function actualizarFormulario(){
<?php
$archivo = "C:\apache2triad\htdocs\proyecto\estado";
// aqui me conecto por ssh2 a la maquina, y construyo el fichero salida
.................................................. .......................
$salida = file_get_contents("C:\apache2triad\htdocs\proyecto \estado");
unlink("C:\apache2triad\htdocs\proyecto\estado");
php?>
var estado = "<? echo "$salida"; ?>"
switch (estado){
case "COMPLETED":
id = 'transf_e_env_1'
document.getElementById(id).value = 'Completado'
document.getElementById(id).style.background = '#00CC00'
break;
case "ABORTED":
id = 'transf_e_env_1'
document.getElementById(id).value = 'Cancelado'
document.getElementById(id).style.background = '#FF0000'
break;
case "PENDING":
id = 'transf_e_env_1'
document.getElementById(id).value = 'Pendiente'
document.getElementById(id).style.background = '#FF9900'
break;
}
setTimeout('actualizarFormulario()', 30000)
}
</script>
Muchas gracias, y disculpar por las molestias.