Comenzando a programar una web
De modo que tenemos que encontrar una solución para esto. La solución más sencilla es copiar todos los archivos y directorios al directorio temporal, de modo que las direcciones relativas sean correctas. Copiar un archivo es fácil, ya que PHP viene con una función innata de copia, llamada lógicamente copy(). Tenemos que añadir lo siguiente a nuestro script:
Si colocamos el código anterior encima de la llamada a chdir(), todos los archivos se incluirán en nuestro archivo zip, y funcionará correctamente. Pero los directorios no se han incluido todabÃa, porque no los hemos copiado.
Desafortunadamente PHP no viene con una función del tipo copy_directory(), y tenemos que escribir la nuestra propia. Echando un ojo a Google seguramente encontraremos algo rápidamente, pero aquà tenéis uno que he escrito yo mismo:
No voy a explicar la función completa, pero básicamente copia todos los archivos en el directorio, y todos los subdirectorios (y lo mismo hasta cuatro veces).
Si añadimos esta función a nuestro script, la parte que copia los archivos y directorios ahora tiene esta pinta:
Y si lo unimos todo, nuestro script será algo como esto:
Y esto es básicamente lo que necesitamos
(En el tutorial original continúa dos puntos más.)
23 Octubre 2006 · Tags Sin categorÃa |
Me parece excelente el tutorial excepto por un par de problemas que se me presentaron al utilizar el codigo.
Las rutas relativas NO FUNCIONAN, solamente funcionan aquellas rutas relativas que sean de la forma ../example.txt ó ../../example.txt ó ./example.txt.
Si utilizo rutas como las siguientes:
./ejemplo/example.txt
../ejemplo/example.txt
da un error cuando tiene se utiliza la funcion copy() de PHP. Una verdadera lastima ya que el código esta buenisimo pero ese problema me obliga a tener q reverlo todo de nuevo e intentar una solucion que si se adecue a estas rutas. Si alguien descubre o ya sabe como solucionarlo me encantaria que me lo hiciera llegar, ya que no dispongo del tiempo como para ponerme a solucionarlo.
Desde ya gracias.
Lo siento mucho. Como explico en el tutorial, en este caso yo soy el traductor, el redactor es la página PHPit.net
Si tienes alguna consulta te recomiendo que visites el atrÃculo original y preguntes (en inglés) http://www.phpit.net/article/creating-zip-tar-archives-dynamically-php/
Un saludo, y muchas gracias por visitar Zumbe.
Disculpa che… la verdad segui el tutorial y no me salio
srry