Foros del Web » Programando para Internet » PHP »

[APORTE] Script para descargar tipografias (u otros archivos) masivamente

Estas en el tema de [APORTE] Script para descargar tipografias (u otros archivos) masivamente en el foro de PHP en Foros del Web. Hola gente, arme este simple script para leecheame todas las tipografias de la web que ya que hacerlo a mano me da sueño. Funciona para ...
  #1 (permalink)  
Antiguo 31/12/2013, 12:43
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
[APORTE] Script para descargar tipografias (u otros archivos) masivamente

Hola gente, arme este simple script para leecheame todas las tipografias de la web que ya que hacerlo a mano me da sueño.

Funciona para cualquier otro fin por supuesto, no solo para tipografias pero de momento solo lo uso para eso.

Código PHP:
Ver original
  1. <?php  
  2.     // Un tiempo alto ya que se ban a bajar muchas.
  3.     ini_set('max_execution_time', 300);
  4.     // Una url determinada obligatoria.
  5.     $prefijo = '';
  6.     // Formato en que estan las tipografias.
  7.     $formato = '.zip';
  8.     // Url de la primer pagina indicando donde va el numero de pagina.
  9.     $url = 'http://www.1001freefonts.com/new-fonts-[PAGINA].php';
  10.     // Si se quiere que se muestren todos los link. (Para usar un gestor externo por ejemplo)
  11.     $mostrar_link = true;
  12.     // Si quiere que se descargen las fuentes.
  13.     $download = true;
  14.     // Si los archivos son zip, y hay que descomprimirlos (VER $FORMATO, $DOWNLOAD)
  15.     $unzip = true;
  16.     // Nro de paginas a descargar.
  17.     $paginas = 100;
  18.    
  19.     $paginas++;
  20.     for($etapa = 1; $etapa<$paginas;$etapa++)
  21.     {
  22.         $input = @file_get_contents(str_replace('[PAGINA]', $etapa,$url))
  23.             or die('No se pudo abrir la url.');
  24.         if(preg_match_all('#\bhttps?://'.$prefijo.'[^\s()<>]+'.$formato.'#', $input, $matches, PREG_SET_ORDER)) {
  25.             $arr_tmp = array();
  26.             foreach($matches as $match)
  27.                 $arr_tmp[] = rtrim($match[0], ' \t."');
  28.             unset($matches);
  29.             $arr_tmp = array_unique($arr_tmp);
  30.             foreach($arr_tmp as $font)
  31.             {
  32.                 if($mostrar_link)
  33.                     echo('<a href="'.$font.'">'.$font.'</a><br>');
  34.                 if($download)
  35.                 {
  36.                     $archivo = file_get_contents($font);
  37.                     $nombre = explode('/',$font);
  38.                     $nombre = $nombre[count($nombre)-1];
  39.                     file_put_contents('fonts/'.$nombre, $archivo);
  40.                     if($unzip)
  41.                     {
  42.                         $zip = new ZipArchive;
  43.                         $zip->open('fonts/'.$nombre);
  44.                         $zip->extractTo('fonts/');
  45.                         $zip->close();
  46.                         unlink('fonts/'.$nombre);
  47.                     }              
  48.                 }
  49.             }
  50.         }
  51.     }

feliz año nuevo!
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: tipografias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:35.