¿Dónde puedo aprender cómo crear un enlace de descarga desde la ruta guardada en la base de datos en PHP?

Si el archivo está accesible en algún lugar, como han dicho otros, normalmente puede proporcionarle un enlace regular.

Si desea evitar de manera confiable que se abra dentro del navegador (el atributo HTML5 es una buena mejora, pero no es compatible con todos los principales navegadores), debe escribir una rutina de controlador para ofrecerlo al usuario. Se vinculará, digamos, “download.php? File = myfile.txt”, y luego escribirá un script apropiado en download.php. Ese script debe especificar que el archivo se debe descargar, configurando el encabezado HTTP apropiado:

header (“Content-Disposition: adjunto; filename = \” $ filename \ “”);

Luego puede simplemente usar readfile para enviarlo al usuario:

readfile ($ nombre de archivo);
salida;

Es MUY importante que no permita simplemente que este script descargue cualquier archivo dado; de lo contrario, le está dando a cualquier usuario la posibilidad de descargar cualquier archivo aleatorio que desee de su sistema. Debes desinfectar cuidadosamente el nombre de archivo (no solo pases una variable $ _GET sin asegurarte de que solo pueda acceder al directorio al que te refieres), o para estar aún más seguro, haz algo como permitir que el script acceda a una lista particular de archivos almacenados en una tabla de base de datos.

En ese caso, vinculará a su archivo como “download.php? Fileid = 26” o algo así, y luego buscará el nombre de archivo real para el archivo 26 de una tabla en su base de datos SQL.

Todas las respuestas aquí son geniales, pero no respondieron a la pregunta: ¿ DÓNDE puede APRENDER cómo hacer eso en PHP?

Con eso en mente, no le diré cómo implementar la solución específica, pero enumere algunos enlaces donde puede investigarlo usted mismo:

  • Documentos de PHP ( http://php.net ): es la guía de referencia más importante. Lo reviso todos los días. Siempre hay algo nuevo que aprender allí.
  • W3School ( http://www.w3schools.com/php/ ): algunas personas ciertamente querrán matarme por colocar este enlace aquí y sin duda recibiré un voto negativo, pero la realidad es que W3S es un gran lugar para principiantes aprender a codificar, porque es fácil y claro.
  • Codecademy ( http://www.codecademy.com/pt/tra …): una referencia mundial para introducir a las personas a la codificación.
  • Zend (PHP 101: PHP para el principiante absoluto): Zend es la compañía detrás del desarrollo principal del lenguaje PHP e incluso el motor base se llama “Zend Engine”, por lo que creo que saben algo sobre el tema.
  • Tuts + (La mejor forma de aprender PHP – Tuts + Code Tutorial): también tiene algunas buenas recomendaciones.
  • Amazon.com: PHP – Programación: Libros: Libros, libros, libros … pueden parecer anticuados pero, a veces, no hay nada mejor que un buen libro. Echa un vistazo a Amazon, por ejemplo, ¡tienen miles!

¡Buena suerte en tus estudios!

Si ha almacenado, por ejemplo, un enlace a una carpeta .zip en la base de datos, simplemente puede usar una etiqueta de anclaje simple (a).

Pero si ha almacenado algo que se puede abrir en el navegador (por ejemplo, un archivo .pdf) puede forzar una descarga utilizando el nuevo atributo de descarga HTML5 para la etiqueta de anclaje

http://www.w3schools.com/tags/at

Algo en este sentido:

$ url = / * obtener la url de la base de datos * /
?>
Victor Schröder