Revision: 2190
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 12, 2007 11:34 by nicolaspar
Initial Code
<? function descarga($archivo,$velocidad,$respeta_extension = true) { // Si el archivo que solicitamos no existe... if (!file_exists($archivo)) { return false; }; // Sacamos las variables del archivo $tamano = filesize($archivo); $extension = substr(strrchr($archivo,"."),1); // Comprobamos la extension... si la puede descargar y el tipo de archivo switch ($extension) { break; case "php": case "php3": case "php4": case "php5": case "htm": case "html": case "txt": case "phtml": return false; break; default: if ($respetar_extension) { $contenido="application/".$extension; } else { $contenido = mime_content_type($archivo); } break; } @ob_end_clean(); // Limpiamos el buffer de salida // Enviamos las cabeceras header("Content-Length: " . $tamano); header("Content-Disposition: attachment; filename=\"$archivo\""); header("Content-Type: " . $contenido); // Empezamos a leer el archivo para enviarlo... $lee_archivo = fopen($archivo, "r"); // "rb" -> Windows ## "r" -> Linux while(!feof($lee_archivo) && connection_status()==0) { if ($velocidad != 0) { echo fread($lee_archivo, 1024 * $velocidad); // Usa $velocidad kb buffer de salida (limitada) sleep(1); // Paramos un segundo para limitar la velocidad } else { echo fread($lee_archivo,1024*6); // Usa 6Kb buffer de salida } flush(); // Vacia el buffer de salida... } // Cerramos el archivo fclose($lee_archivo); return !connection_aborted(); } //// Aqui para descargar.... // En qu?arpeta tenemos las descargas: $ruta_descargas = "./descargas/"; $archivo = "archivo.gif.jpg"; // Realmente es un gif, pero la extension es JPG // La velocidad de descarga que queremos que tengan los usuarios en KB/seg $velocidad = 0; // KB/seg ## 0 para Ilimitada $archivo = $ruta_descargas.$archivo; // Ejemplos................................................................ descarga($archivo,$velocidad); // Descargamos el archivo JPG descarga($archivo,$velocidad,true); // Descargamos el archivo GIF ?>
Initial URL
Initial Description
Initial Title
PHP - AntiLeecher
Initial Tags
Initial Language
PHP