Archives

Forzar descargas con PHP

La idea de este tip, es explicar como hacer que cualquier tipo de archivo (siempre que se tengan permisos de lectura sobre el mismo ) sea descargable. Es muy sencillo y sólo consta de unas pocas lineas de código.

<?php

   //Código generado por php.net
$f = $_GET["file"];
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename="$f"n");
$fp=fopen("$f", "r");
fpassthru($fp);

?> 

Creamos un archivo que contenga el código arriba descripto, lo guardamos, y, para probar si funciona podemos hacer lo siguiente:

Llamamos el archivo, a modo de ejemplo, "descarga.php". Creamos un archivo html, al que llamamos "ejemplo.html", que contenga un "Hola mundo!".

Ahora bien, ubicamos los dos archivos dentro del mismo directorio y llamamos a descarga.php de la siguiente forma (suponiendo que ambos archivos esten en el raiz de nuestro servidor local):

http://localhost/descarga.php?file=ejemplo.html

De este modo podremos descargar "ejemplo.html". Cabe aclarar que esto es aplicable a cualquier tipo de archivo, siempre teniendo en cuenta que debemos tener permisos de lectura al menos sobre el mismo.

Busquedas con PHP y MYSQL, usando MATCH y no LIKE

Las búsquedas te tardan mucho? Seguramente estas usando algo como:

SELECT * FROM noticias WHERE titulo LIKE 'cualquiercosa'

Una forma un poco mejor (y mas rápida) de hacer lo mismo es la siguiente:

SELECT * FROM noticias WHERE MATCH (titulo) AGAINST ('cualquiercosa' IN BOOLEAN MODE)

Y si quisiéramos buscar en más de un campo, tambien es fácil agregarlos:

SELECT * FROM noticias WHERE MATCH (titulo, texto, autor) AGAINST ('cualquiercosa' IN BOOLEAN MODE)

LAYOUT

SAMPLE COLOR

Please read our documentation file to know how to change colors as you want

BACKGROUND COLOR

BACKGROUND TEXTURE