PHP - Ejecutar aplicaciones externas

 
Vista:

Ejecutar aplicaciones externas

Publicado por Pablo (44 intervenciones) el 28/04/2014 09:40:51
Tengo un pequeño problema, que no sé cómo solucionar.

He creado una aplicación que indexa archivos (pdf y xlsx) con ordenes de trabajo.

Los pdf´s son copias de lo que el cliente firmó, los xlsx permiten realizar los cálculos de lo que hay que facturarle al cliente, si procede.

Pero, quiero que el archivo excel se abra (ya que en el navegador no puedo, que al menos lo haga en el PC del usuairo), el usuario lo modifique si procede y deje guardada la copia en el servidor. Lo que he conseguido es que lo descargue, lo cual es un engorro porque duplica el trabajo, y lo que hay en el servidor se queda sin modificar.

Estoy viendo algunos comandos que me permitirían arrancar apliaciones externas, como exec(), pero los ejemplos están muy enfocados a Linux y ejecutar aplicaciones en segundo plano, y a mi me interesaría mas instalar un WAMP en el servidor Windows, que los archivos llegaran a una carpeta del servidor a través de una macro en Outlook, que estos sean leidos por mi aplicación y permitan al usuario gestionarlos (aprobarlos, rechazarlos, ejecutarlos, etc)
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 Vainas
Val: 34
Ha aumentado su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar aplicaciones externas

Publicado por Vainas (262 intervenciones) el 28/04/2014 13:23:19
Y no puedes hacer que los xlsx pasen a una bbdd, Sera mejor para la gestion, estara todo centrazilado, podras lograr que quien introduce datos lo haga desde la web....

Has pensado sino en buscar alguna libreria que maneje los xlsx?

Como ultima opcion... trabajando bajo carpetas de red no se si podrias darle en el link el enlace del archivo en red. Asi modificaria el archivo y automaticamente al guardar estaria guardando el que se encuentra en el servidor.

Ya nos contaras mas.

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

Ejecutar aplicaciones externas

Publicado por Pablo (44 intervenciones) el 29/04/2014 12:13:42
Pues tienes toda la razón, y además va a ser más fácil.

Envío los archivos al servidor de ficheros en la red Windows y a la aplicación en mi servidor Linux le doy solo el enlace, que es lo que almaceno en la base de datos y así esta no crece.

¿Que el usuario está en la red windows de la empresa? Tiene acceso a los ficheros.

¿Que el usuario no está en la red windows de la empresa? No tiene acceso.

Perfecto, justo lo que necesito.

Voy a problar que efectivamente funciona.
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ejecutar aplicaciones externas

Publicado por xve (6935 intervenciones) el 29/04/2014 15:12:54
Ok, ya nos comentaras que tal...
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

Ejecutar aplicaciones externas

Publicado por Pablo (44 intervenciones) el 29/04/2014 19:00:27
OK, para probar he hecho lo siguiente:

He colocado dos archivos, un excel y su impresión en pdf en una carpeta de la red Windows, y he hecho una página .php, que he alojado en un servidor Linux (que está dentro de la red de la oficina también) con el siguiente código de prueba:

1
2
3
4
5
6
7
<html><head><title>Partes De Trabajo</title></head>
<body>
<h3>Ejemplo de enlace a la red</h3>
<p><a href="file://servidor/camino/al/parteDeTrabajo/archivo.xlsm" type="application/vnd.ms-excel.sheet.macroEnabled.12">Parte de trabajo en Excel</a></p>
<p><a href="file://servidor/camino/al/parteDeTrabajo/archivo.pdf" type="application/pdf">Parte de trabajo en pdf</a></p>
</body>
</html>

Donde: //servidor/camino/al/parteDeTrabajo/ es una carpeta en la red de Windows.

Y me funciona (bueno, el usuario tiene que elegir abrir, pero entiendo que eso es configurable), pero solo con Internet Explorer ¿?

Aprovechando que mis usuarios utilizan mayoritariamente Internet Explorer, el problema es menor.

Ahora solo me queda ajustar la aplicación para que funcione de forma transparente para el usuario.

Gracias por vuestros comentarios.
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