Buenas de nuevo Raulii...
Pues si, te he entendido mal... y consultando con el "oraculo" .oO(Google) he encontrado varias entradas que hacen referencia a la modificacion de las URL mediante cabeceras... De hecho, ahi por ahi corriendo scripts completitos que modificando tan solo los archios de ejemplo por los correspondientes (o mejor variables xD ) darían el pego.
Aqui he encontrado códigos relacionados con tus inquietudes:
www.webnova.com.ar/codigo-fuente.php?recurso=214 http://www.webtaller.com/construccio...cargas-php.php
Sobre cual puede ser el mejor de todos ellos, Ni idea la verdad, nunca ha despertado mi interés el tema de las descargas o mejor dicho, aún no ha surjido la necesidad de protegerlas... creo que este es un tema interesante, ya que en GOOGLE aparecen 700.000 mil temas relacionados con esto, pero a saber cual es realmente el mejor de ellos :)
Rebuscando por ahi, he encontrado este código que cumple estas funciones:
Código PHP:
<?
/*
Copyright (c) 1999 Marcel Lemmen
E-mail: [email][email protected][/email]
All rights reserved.
*/
$files=array( 'track01.mp3', 'escreen.exe');
$filenames=array( 'Thank ABBA for the music.mp3', 'Escreen.exe');
$additional_info=array( 'Various artists - Thanx ABBA for the music
: 4978602 by
tes', 'Shareware program to make a screenshot: 529920 bytes');
$url="/home/lemmen/public_html/data/";
/* When the files are on another server, use the
whole address ([url]http://www.server.com/dir/[/url]) in stead of
/home/lemmen... */
$referer=ereg_replace( "\?.", "",$HTTP_REFERER);
$thisfile="http://$HTTP_HOST$PHP_SELF";
if ($referer!=$thisfile){
echo "<center><big>Homepage: <a
href=\"http://home.support.nl/~lemmen\">
http://home.support.nl/~lemmen</big><br><hr><br><br></center>";
for ($i=0;$i<count($files);$i++)
echo "<P><A
HREF=\"$PHP_SELF?$i\">",$filenames[$i], "</A>
$additional_i
nfo[$i]\n";
}
else {
$i=$QUERY_STRING;
$total=$url . $files[$i];
Header ( "Content-Type: application/octet-stream");
Header ( "Content-Length: ".filesize($total));
Header( "Content-Disposition: attachment;
filename=$filenames[$i]");
readfile($total);
}
?>
Espero que te sirva de algo.
Saludos.