Tengo algunos scripts para forzar descargas, pero no he dado con el truco para descargar archivos de un nivel superior en la página donde ubico el script o de otra página o dirección.
Esto se puede hacer con PHP?
| |||
Forzar descarga externa Tengo algunos scripts para forzar descargas, pero no he dado con el truco para descargar archivos de un nivel superior en la página donde ubico el script o de otra página o dirección. Esto se puede hacer con PHP? |
| ||||
Sí, se puede. ¿los scripts que tienes están hechos con PHP?, ¿por qué no muestras lo que intentaste para poder decirte en qué falló "el truco"?. Busca "forzar descarga" en el foro. Suerte! ![]()
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| |||
jam1138 Estos son los 2 scripts que tengo, ambos sacados de algún sitio de por ahí (incluso uno creo que está en este foro). Ambos me permiten forzar la descarga desde el mismo directorio donde se encuentran o de subdirectorios del mismo, pero NO de directorios superiores o de un un sitio diferente; o sea, no consigo bajar de rutas absolutas, como http://www.misitio.com/misdescargas/ Te agradezco tu ayuda y muchas gracias por responder. Dieter. Script 1: bajar.php <?php $path = "descargas"; $enlace = $path."/".$id; header ("Content-Disposition: attachment; filename=".$id."\n\n"); header ("Content-Type: application/octet-stream"); header ("Content-Length: ".filesize($enlace)); readfile($enlace); ?> enlace desde html: a href="bajar.php?id=midoc.pdf">bajar pdf Script 2: descargar.php <? function descarga($miarchivo){ $archivo = basename($miarchivo); header( "Content-Type: application/octet-stream"); header( "Content-Length: ".filesize($archivo)); header( "Content-Disposition: attachment; filename=".$archivo.""); readfile($miarchivo); } descarga("descargas/midoc.pdf"); ?> enlace desde html: a href="descargar.php">bajar pdf |
| ||||
Cita: Una ruta absoluta podría interpretarse como enlaces externos. ¿haz provado con rutas relativas??. ¿hay algún mensaje de error??o sea, no consigo bajar de rutas absolutas, como http://www.misitio.com/misdescargas/ ![]()
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| |||
En los dos ejemplos la descarga se realiza correctamente desde lo que yo creo son rutas relativas, en este caso /descargas/. también puedo seguir bajando, por ejemplo /descargas/misarchivos/fotos/ y todo funciona perfecto. Justamente lo que necesito es forzar la descarga de un sitio externo; en ese caso si pongo la dirección del mismo baja un archivo de 0 bytes. Por favor corrigeme si me expreso mal al describir lo que yo entiendo por rutas relativas. |
| |||
Si te digo la verdad, no veo donde está el error. Te pongo una función que está sacada de este foro y que utilizo en algunos sitios web. Código PHP: |
| ||||
Cita: ... ¿y tienes permiso para ello???... No podrás hacerlo si el sitio no permite esta descarga. ¿cuál es el archivo que quieres descargar y de qué sitio?. Justamente lo que necesito es forzar la descarga de un sitio externo
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" |
| |||
Son PDF, MPG y MP3 que guardo en distintos hostings contratados por mi. Un ejemplo: http://www.tacuarembo2000.com/agosto2005/lafinita.mp3 Necesito bajarlos desde otros sitios. No hay nada raro, simplemente a veces necesito ahorrar espacio y no volver a subir el mismo archivo a un hosting diferente; de hecho los enlaces normales ya están hechos, pero me gustaría poder darle al visitante la opción de guardar el archivo además de poder abrirlo directamente. Y todos son creados por mi o tienen la debida autorización de sus autores como en el caso del ejemplo (un grupo folklorico de mi ciudad) Última edición por Dietercito; 25/10/2005 a las 22:22 |