Las instrucciones en el documento de ayuda de PHP sobre cómo PHP activa descargas a través de encabezados son relativamente simples, hay muy pocos artículos sobre este aspecto en Internet y muchos artículos no pueden lograr el efecto deseado. Hoy también hablaré sobre este tema. Si cree que ha mejorado en comparación con algunos artículos de Internet, estaré muy satisfecho.
Desde un punto de vista preciso, el documento PHP es el más preciso, porque enumera de manera sucinta las tres declaraciones necesarias para activar la descarga de archivos de texto. Tomando PDF como ejemplo:
el siguiente es el contenido citado:
// Generaremos un
encabezado PDF('Content-type: application/pdf');
// Se llamará
encabezado descargado.pdf('Content-Disposition: adjunto; filename="downloaded.pdf"');
// La fuente del PDF está en original.pdf
readfile('original.pdf');
Estas tres frases son correctas, pero pueden ocurrir fácilmente algunos problemas imprevistos durante el uso real. Si es una persona muy cuidadosa, puede evitarlos fácilmente. Pero no lo soy, así que encontré ese problema. Aquí hablaré brevemente sobre mi problema.
Para la primera oración, no debería haber nada que decir. Es necesario. Simplemente cambie el tipo de documento. Por ejemplo, si está descargando un archivo txt, cámbielo a encabezado ('Tipo de contenido: aplicación/txt'). );. La segunda oración No hay nada que decir, simplemente asigne un nombre al documento descargado. Si es un archivo txt, puede cambiarlo a header('Content-Disposition: adjunto; nombre de archivo="descargado.txt"') ;, la pregunta de la tercera oración Hay más. La función readfile significa leer un archivo y generarlo. La ruta del archivo aquí debe ser la ruta del archivo real. Si es un archivo.txt original en la carpeta de descargas. puede escribir readfile('descargas/original.txt'); y si la página enviada generará texto y otros caracteres, el archivo descargado será un archivo mixto del archivo original original.txt y el texto generado por la página enviada. Me falta una observación cuidadosa aquí. Tan pronto como vi que algo andaba mal, revisé inmediatamente el código, pero no encontré que el texto anterior fuera lo que necesitaba. Después de descubrir esta parte del contenido, puede pensar rápidamente en cómo resolverlo. este problema. , es decir, desactivar la salida del contenido de texto de la página enviada. En este punto, el problema está resuelto y el cuadro de diálogo de descarga se activa cuando se hace clic en el enlace del archivo de texto.