Verifique los enlaces de descarga
Se mencionó anteriormente que cremallera y exe Descarga de archivos automáticamente, sin usar el script php. Primero, cree un archivo HTML con el siguiente código. Aquí, los cuatro elementos de anclaje se definen para descargar los cuatro tipos de archivos. Estos tipos de archivos incluyen archivos de texto, zip, pdf y jpg.
Descargar.html
Producción
El siguiente cuadro de diálogo aparecerá descargar el archivo después de hacer clic en el enlace del archivo zip. El usuario puede descargar el archivo o abrir el archivo en el manager de archivo.
Si hace clic en el archivo de imagen, la imagen se abrirá automáticamente en el navegador, como se muestra en la siguiente salida. Debe guardar el archivo para hacer una copia del archivo de imagen en la unidad local. De la misma manera, cuando hace clic en PDF y enlaces de archivo de texto, el contenido del archivo se abrirá en el navegador sin descargar el archivo. La solución a este problema es descargar el archivo por la fuerza utilizando el PHP incorporado readfile () función.
Descargar archivo usando la función readFile ()
El readfile () La función se usa en el script PHP para descargar por la fuerza cualquier archivo de la ubicación actual, o el archivo con la ruta del archivo. La sintaxis de esta función se da a continuación.
Sintaxis
int readFile (String $ FileName [, bool $ use_include_path = false [, recurso $ context]]))
Esta función puede tomar tres argumentos. El primer argumento es obligatorio, y los otros dos argumentos son opcionales. El primer argumento, $ nombre de archivo, almacena el nombre de archivo o el nombre de archivo con la ruta que se descargará. El valor predeterminado del segundo parámetro, $ use_include_path, es falso y se establecerá en verdadero si el nombre de archivo con la ruta se usa en el primer argumento. El tercer argumento, $ contexto, se usa para indicar el recurso de flujo de contexto. Esta función devuelve el número de bytes leídos del archivo mencionado en el primer argumento. Los usos de esta función se muestran en los siguientes dos ejemplos.
Ejemplo 1: Descargar archivo con nombre de archivo
En este ejemplo, crearemos un archivo HTML con el siguiente código, donde el nombre del archivo se pasará como un parámetro de la URL nombrada camino, y el valor de este parámetro se pasará al archivo php nombrado descargar.php.
descargar2.html
Crearemos el archivo PHP con el siguiente código para descargar el archivo por la fuerza. Aquí el Está establecido() la función se usa para verificar si el $ _Get ['ruta'] se define. Si se define la variable, el El archivo existe() La función se usa para verificar si el archivo existe en el servidor. A continuación, el encabezamiento() La función se utiliza para establecer la información del encabezado necesaria antes de usar el readfile () función. El Basename () la función se utiliza para recuperar el nombre de archivo y el tamaño del archivo() La función se usa para leer el tamaño del archivo en bytes, que se mostrará en el cuadro de diálogo de apertura para descargar el archivo. El enjuagar() La función se usa para borrar el búfer de salida. El readfile () la función se usa solo con el nombre de archivo, aquí.
descargar.php
if (isset ($ _ get ['ruta']))Producción
La siguiente salida aparecerá después de hacer clic en el enlace de descarga del archivo de imagen. El tamaño del archivo del rosa.JPG La imagen es 27.2 kb, Como se muestra en el cuadro de diálogo. Puede descargar el archivo seleccionando el Guardar el archivo Botón de radio y presionando el DE ACUERDO botón.
Ejemplo 2: Descargar archivo con la ruta del archivo
Si el archivo existe en la ubicación del archivo dada, se requerirá que la ruta del archivo mencione en la URL. En este ejemplo, crearemos un archivo HTML con el siguiente código, que pasará el nombre de archivo con la ruta del archivo:
descargar3.html
Crearemos un archivo PHP con el siguiente código para descargar un archivo de la ruta del archivo. El código PHP en el ejemplo anterior se modificará ligeramente para descargar el archivo desde la ruta dada. El ClearStateCache () La función se usa para borrar el caché que se almacenaba previamente. Se utilizan dos argumentos en el readfile () función.
descargar2.php
if (isset ($ _ get ['ruta']))Producción
Después de hacer clic en el enlace de descarga del archivo PDF, aparecerá la siguiente salida.
Tutorial de video
Conclusión
Este artículo proporcionó una forma simple de descargar por la fuerza cualquier archivo utilizando el script PHP, para ayudar a los lectores a agregar la función de descarga en su script.