Foros del Web » Programando para Internet » PHP »

descargar src de un html

Estas en el tema de descargar src de un html en el foro de PHP en Foros del Web. Hola buen dia a todos, vengo realizando algo paso a paso con ayuda de este foro y ahora estoy atorado con algo mas. Necesito que ...
  #1 (permalink)  
Antiguo 08/08/2013, 14:32
 
Fecha de Ingreso: abril-2013
Mensajes: 18
Antigüedad: 11 años
Puntos: 0
Pregunta descargar src de un html

Hola buen dia a todos, vengo realizando algo paso a paso con ayuda de este foro y ahora estoy atorado con algo mas. Necesito que se descargue una pagina de mi sitio que estoy creando con todo el contenido ((img, js, css, etc) cuando el usuario de clic en un boton de descarga (algo igual a la funcion Guardar pagina como... del navegador). Para ello, primero queria crear un archivo html con todo el contenido de mi pagina ya con el php procesado. Esto ya lo tengo. Despues era sacar las rutas de estos archivos, lo cual tambien logre parseando el archivo html que cree. Ahora quisiera saber como descargar todos estos archivos usando las rutas que consegui en el paso anterior. Tengo el siguiente codigo:

Código:
foreach($data->find('img') as $element)
	{
		$file=$element->src;
		
		if (file_exists($file)) {
		    header('Content-Description: File Transfer');
		    header('Content-Type: application/octet-stream');
		    header('Content-Disposition: attachment;                   filename='.basename($file));
		    header('Content-Transfer-Encoding: binary');
		    header('Expires: 0');
		    header('Cache-Control: must-revalidate');
		    header('Pragma: public');
		    header('Content-Length: ' . filesize($file));
		    ob_clean();
		    flush();
		    readfile($file);
		    exit;
		}
	}
$data tiene todo el contenido de mi html.
$data->find busca todos los tag de imagen y el $file extraigo lo que tiene el src, lo cual me extrae las rutas de las imagenes. Con los headers intento descargar todas las imagenes que encuentre el foreach pero solo me descarga la primera y no encuentro el porque.

ALguien que me de una ayudadota???
  #2 (permalink)  
Antiguo 08/08/2013, 14:44
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: descargar src de un html

exit; <- Esa instrucción detiene la ejecución del script.

Lo que no entiendo es porque envias todos esos encabezados y usas readfile, cuando perfectamente puedes:
1- Leer la imagen con file_get_contents()
2- Guardarla en la carpeta correspondiente con file_put_contents()

Por cierto, creo que necesitarás una forma de detectar si un archivo ya fue descargado y guardado para evitar procesarlo nuevamente.

Ahhh, otra cosa, también tendrás que analizar los CSS para descargar las imágenes que puedan estar definidas como fondo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 08/08/2013, 14:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: descargar src de un html

¡Sencillamente inaudito!

No se pueden forzar descargas múltiples de archivos.

Lo que puedes hacer es crear un Zip con todos los archivos, no te compliques.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 08/08/2013, 15:00
 
Fecha de Ingreso: abril-2013
Mensajes: 18
Antigüedad: 11 años
Puntos: 0
Respuesta: descargar src de un html

Triby y pateketrueke muchas gracias a ustedes 2, este problema lo estoy sacando gracias a las pistas y ayuda que los 2 me estan dando desde ayer. Perdonen mis patinadas en php pero es que soy un mero principiante.

pateketrueke me podrias mas o menos explicar lo de el zip. Porque lo que tenia pensado es que cuando tuviera todo descargado en la carpeta es crear un zip que es el que el cliente realmente va a descargar, y creo que lo que tu me dice me ahorraria mucho trabajo.

Triby. tambien ahora mismo me pongo a investigar algo sobre el get_contentes, muchas gracias a los dos!!!

Etiquetas: html, src
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 03:19.