send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Comprimir directorios completos de tu sitio web

  • 1 Respuestas
  • 2633 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 525
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« en: Marzo 16, 2015, 02:39:33 am »
Buenas hoy estaba escuchando musica y luego un amigo (NoVaTo) me hablo por Skype diciendome que si tenia algun script o shell que comprimiera toda la pagina web para bajarsela, entonces como no tenia me puse a buscar como hacerlo uno a mi manera... hasta que al final di con bola... pues nada mas les dejo el script par aque lo usen cuando quieran:

Código: PHP
  1.  <?php
  2. // Si son demasiados archivos colocamos el tiempo limite en 0 (sin limite)
  3. You are not allowed to view links. Register or Login(0);
  4.  /*
  5.   @autor : Arthusu
  6.   @fecha : 15/03/2015
  7.   @descripcion : Compresor de todos los archivos del directorio
  8.   @archivo : compresor.php
  9.  */
  10.  
  11.  // definimos las variables (las podemos modificar segun sea nuestro caso)
  12.  $nombre_del_archivo_comprimido = "comprimido.zip"; // el nombre del archivo a generar
  13.  $ruta_relativa = ""; // el directorio que nos encontremos. Ejemplo: images/algo/ para generar un link correcto
  14.  
  15.  if(You are not allowed to view links. Register or Login() >= "5.2.0"){ // verificamos que contengan la version correcta para crear archivos zip
  16.   $zip = new ZipArchive(); // Creamos un nuevo objeto
  17.   if($zip->open($nombre_del_archivo_comprimido,ZIPARCHIVE::CREATE) === TRUE){ // creamos un archivo
  18.    $iterator = new RecursiveDirectoryIterator(__DIR__); // recorremos el directorio
  19.    $recursiveIterator = new RecursiveIteratorIterator($iterator); // recorremos los directorios dentro de otros directorios y asi sucesivamente
  20.  
  21.    foreach($recursiveIterator as $entry){ // recorremos los archivos
  22.      if(You are not allowed to view links. Register or Login($entry->getRealPath())){ // verificamos que sea archivo
  23.       // debug
  24.       //echo $entry->getRealPath()."\n";
  25.          $zip->addFile($entry->getRealPath()); // lo agregamos al zip
  26.         }
  27.    }
  28.    // mostramos un enlace con los archivos
  29.    echo $zip->numFiles .' archivos comprimidos: <a href="http://'.You are not allowed to view links. Register or Login($_SERVER["HTTP_HOST"]. "/" . $ruta_relativa . $nombre_del_archivo_comprimido).'">Descargar Archivo</a>';
  30.   }else{
  31.    // si no se crea el archivo mostramos el error
  32.    echo "Ha ocurrido un error: ".$zip->getStatusString();
  33.   }
  34.   // cerramos el archivo zip
  35.   $zip->close();
  36.  }else{
  37.   // si la version no es correcta mostramos un mensaje
  38.   echo "Su version de PHP debe ser 5.2.0 o superior";
  39.  }
  40. ?>
  41.  

El uso es bastante facil.

1.- Subir el archivo a la carpeta que quieras comprimir
2.- Ejecutar el archivo en la url: ejemplo.com/compresor.php
3.- Te generara un link donde descargar el archivo

Hay dos variables que puedes modificar dentro del archivo:

$ruta_relativa - Esta variable la modificas en caso de que te encuentres en una ruta relativa en alguna carpeta de la web, ejemplo: jquery/imagenes/, con eso nos generaria un link como el siguiente:  ejemplo.com/jquery/imagenes/comprimido.zip

$nombre_del_archivo_comprimido - Aqui puedes especificar el nombre del archivo resultante

Nota: Otra cosa a tomar en cuenta es que el script tarda dependiendo de que tantos archivos tenga que guardar o recorrer, puede tardar varios minutos dependiendo de que tantos archivos contenga tu sitio.

Y bueno eso es todo espero que la herramienta les sea de utilidad.

Desconectado DeBobiPro

  • *
  • Underc0der
  • Mensajes: 205
  • Actividad:
    0%
  • Reputación 2
  • Como no sabía que era imposible, lo hice.
    • Ver Perfil
« Respuesta #1 en: Marzo 23, 2015, 09:10:59 am »
Muchas gracias por el Script, nunca es malo tener algo así a la mano especialmente cuando se trabaja con algun CMS.

Saludos!
Nivel 77 You are not allowed to view links. Register or Login

 

¿Te gustó el post? COMPARTILO!



[VIDEOTUTORIAL][UDEMY] Aprende a crear tu primer sitio web con Laravel 5.4

Iniciado por graphixx

Respuestas: 0
Vistas: 222
Último mensaje Febrero 24, 2018, 01:36:53 pm
por graphixx
Mi sitio está online? + Notificaciones por Whatsapp

Iniciado por fermino

Respuestas: 3
Vistas: 2141
Último mensaje Octubre 06, 2014, 03:07:11 am
por alexander1712
Subir Directorios Completos por FTP

Iniciado por s00rk

Respuestas: 7
Vistas: 1571
Último mensaje Junio 02, 2011, 11:32:39 pm
por Xt3mP