Sv Community El Salvador

Soporte y Tecnología => Programación => Web => Mensaje iniciado por: ghostrider2 en diciembre 16, 2012, 02:14:46 pm

Título: Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: ghostrider2 en diciembre 16, 2012, 02:14:46 pm
He googleado y no he tenido mucha suerte o paciencia.

Habra alguna libreria o clase que se pueda usar en php para comprimir una carpeta con archivos en el sitio web y generar un exe auto extraible? por aquello de que algunos no tienen ni winrar instalado en las pc clientes.?
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: hepl2000 en diciembre 31, 2012, 03:05:46 pm
yo tambien quisiera saber, he buscado pero aun sin suerte
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: mxgxw en enero 01, 2013, 01:41:40 pm
He googleado y no he tenido mucha suerte o paciencia.

Habra alguna libreria o clase que se pueda usar en php para comprimir una carpeta con archivos en el sitio web y generar un exe auto extraible? por aquello de que algunos no tienen ni winrar instalado en las pc clientes.?

Este problema está desde hace días y la verdad también me puse a googlear pero no encontré ninguna solución factible que no implicara ejecutar algun comando desde el lado del server.

Así que bueno, como el fin de año pasé con el oido tapado y no pude salir intenté ver si podía hacer un pequeño programa que realizara la tarea, al final creo que lo logré (solo que solo lo he probado en Windows 7 Professional, que posiblemente igual no lo necesita pero les puede servir).

La idea es simple, para "crear" el auto-extraible en Linux por ejemplo simplemente necesitas dos cosas:

1-El ejecutable MiniSXF.exe
2-Un Zipfile con los archivos que queres que se auto extraigan (le llamaremos payload.zip).

Una vez tenes esas dos cosas podes ejecutar el siguiente comando en linux:

Código: [Seleccionar]
$ cat MiniSXF.exe payload.zip > AutoExtraible.exe

OJo que no necesariamente necesitas usar "cat", si el hosting no te permite ejecutar comandos externos podes concatenar los archivos muy fácilmente utilizando las funciones de lectura de archivos incluidas en PHP.

Luego en Windows agarras el autoextraible y solo lo ejecutas para extraer los contenidos:

Código: [Seleccionar]
> AutoExtraible.exe

Si lo único que queres es listar los archivos podes utilizar el comando "-l"

Código: [Seleccionar]
> AutoExtraible.exe -l

Descargate el ejecutable de aquí:
MiniSXF-win64 (http://dev.teubi.co/downloads/MiniSXF-win64.exe)

Si están interesados en el código fuente para compilarlo en otras versiones de windows, pueden acceder a la página en GitHub:
https://github.com/mxgxw/MiniSXF (https://github.com/mxgxw/MiniSXF)

Mas tardecito les subo más info en mi blog de como funciona. :)
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: hepl2000 en enero 01, 2013, 03:08:03 pm
Inmensas gracias maestro. ahorita me pongo a hacer pruebas...  :thumbsup:
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: mxgxw en enero 01, 2013, 03:17:00 pm
Inmensas gracias maestro. ahorita me pongo a hacer pruebas...  :thumbsup:

Listo, aquí hay mas información y ejemplos de uso en PHP. Ojo que solo lo he probado en Windows 7 64 bits, pero ya lo probamos en otra computadora diferente a la mía sin el CyGWin y funciona. Si no te funciona avisame que errores te da para corregirlo :)

Citar
Generando archivos Auto-Extraibles en PHP para Windows (o Linux)
Para abrir el año y considerando que tuve que pasar en casa el año nuevo en casa debido a situaciones fuera de mi control, decidí que podía hacer algo interesante para aprovechar el tiempo libre.

Hace varios días había un pequeño tema en SVCommunity preguntando como hacer para generar "auto-extraibles" vía PHP. Buscando un poco en Google y luego de leer un par de respuestas un tanto "pedantes" en StackOverflow donde sugerían que lo mejor era cambiar de proveedor de hosting, decidí que tal vez había una forma sencilla de hacer un autoextraible en Linux que funcionara en Windows que no implicara correr comandos externos.

Continua... (http://fuenteabierta.teubi.co/2013/01/generando-archivos-auto-extraibles-en.html)

http://fuenteabierta.teubi.co/2013/01/generando-archivos-auto-extraibles-en.html (http://fuenteabierta.teubi.co/2013/01/generando-archivos-auto-extraibles-en.html)
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: hepl2000 en enero 01, 2013, 04:37:29 pm
y funcionará bien en win xp y vista? digo, para que sea estandar como el winrarsxf???
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: hepl2000 en enero 01, 2013, 06:33:25 pm
estube probando en win 7 64 y ahi funciona bien, pero probe con un archivo zip con password y no descomprimio nada ni me pidio la password...
otro punto, seria posible indicarle la carpeta donde debe descomprimirse sea relativa o absoluta y/o borrar previamente los archivos si ya existen?, esque estoy acostumbrado al winrarsxf. imagino que se puede inplementar dichas caracteristicas... para ello quiza sea necesaria una ventana para mostrar el progreso.
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: mxgxw en enero 01, 2013, 10:35:29 pm
estube probando en win 7 64 y ahi funciona bien, pero probe con un archivo zip con password y no descomprimio nada ni me pidio la password...
otro punto, seria posible indicarle la carpeta donde debe descomprimirse sea relativa o absoluta y/o borrar previamente los archivos si ya existen?, esque estoy acostumbrado al winrarsxf. imagino que se puede inplementar dichas caracteristicas... para ello quiza sea necesaria una ventana para mostrar el progreso.


Actualmente no soporta archivos con password, acordate que lo armé entre ayer y ahora. Está configurado para sobreescribir los archivos, sobre la ventana del progreso la idea era hacerlo lo más simple posible, depende de que tanto tiempo me quede se pueden ir implementando  en futuras versiones.
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: hepl2000 en enero 01, 2013, 10:43:06 pm
Actualmente no soporta archivos con password, acordate que lo armé entre ayer y ahora. Está configurado para sobreescribir los archivos, sobre la ventana del progreso la idea era hacerlo lo más simple posible, depende de que tanto tiempo me quede se pueden ir implementando  en futuras versiones.
seria grandioso lograrlo, al menos ya esta la base que es lo mas importante, de ahi se puede ir construyendo hacia arriba.
Título: Re:Como se genera un exe a partir de un zip o rar autoextraible en win con php?
Publicado por: mxgxw en enero 01, 2013, 10:48:08 pm
seria grandioso lograrlo, al menos ya esta la base que es lo mas importante, de ahi se puede ir construyendo hacia arriba.

El código de Minizip soporta archivos con password, pero quería que la primera versión funcionara sin ninguna intervención externa, pero suena como algo intersante para los que quieren agregar un "nivel extra" de seguridad :)}

Por cierto si tienen cuenta en GitHub pueden agregar cualquier problema que encuentren con el ejecutable en la sección de "Issues":

https://github.com/mxgxw/MiniSXF/issues (https://github.com/mxgxw/MiniSXF/issues)