Foros del Web » Programando para Internet » PHP »

Ocultar URL de descarga externa

Estas en el tema de Ocultar URL de descarga externa en el foro de PHP en Foros del Web. Hola gente, ¿cómo va? Estoy armando un sistema de descarga con códigos (keys), el problema se me presentó al momento de descargar un archivo grande, ...
  #1 (permalink)  
Antiguo 23/09/2012, 17:17
 
Fecha de Ingreso: marzo-2008
Ubicación: Santa Cruz, Argentina
Mensajes: 433
Antigüedad: 16 años
Puntos: 5
Ocultar URL de descarga externa

Hola gente, ¿cómo va?

Estoy armando un sistema de descarga con códigos (keys), el problema se me presentó al momento de descargar un archivo grande, de 100 MB, en el servidor del sitio se cortaba la descarga a 15MB, traté pasandolo a mi servidor, pero es muy lento para descargas de archivos grandes, y entonces terminé dejando el fichero en dropbox.

El tema es el siguiente, necesito si se puede, que cuando se descargue el archivo, por ejemplo en google chrome, diga que la url de descarga es http://midominio.com/descarga.php, y no http://dl.dropbox.com/xxx/xxx.zip, ¿se entiende?

¿Se podrá hacer eso?

Actualmente lo tengo con una redirección via header a la descarga.

Desde ya muchas gracias y espero su respuesta!
  #2 (permalink)  
Antiguo 24/09/2012, 04:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 12 años, 10 meses
Puntos: 16
Respuesta: Ocultar URL de descarga externa

Código PHP:
Ver original
  1. <?
  2. /*
  3. Copyright (c) 1999 Marcel Lemmen
  4. All rights reserved.
  5. */
  6. $files=array( 'track01.mp3', 'escreen.exe');
  7. $filenames=array( 'Thank ABBA for the music.mp3', 'Escreen.exe');
  8. $additional_info=array( 'Various artists - Thanx ABBA for the music : 4978602 by
  9. tes', 'Shareware program to make a screenshot: 529920 bytes');
  10. $url= "/home/lemmen/public_html/data/";
  11. /* When the files are on another server, use the
  12. whole address (http://www.server.com/dir/) in stead of /home/lemmen... */
  13.  
  14. $referer=ereg_replace( "?.", "",$HTTP_REFERER);
  15. $thisfile= "http://$HTTP_HOST$PHP_SELF";
  16.  
  17. if ($referer!=$thisfile){
  18. echo "<center><big>Homepage: <a href="http://home.support.nl/~lemmen">
  19. http://home.support.nl/~lemmen</big><br><hr><br><br></center>";
  20. for ($i=0;$i<count($files);$i++)
  21. echo "<P><A HREF="$PHP_SELF?$i">",$filenames[$i], "</A> $additional_i
  22. nfo[$i]n";
  23. }
  24. else {
  25. $i=$QUERY_STRING;
  26. $total=$url . $files[$i];
  27. Header ( "Content-Type: application/octet-stream");
  28. Header ( "Content-Length: ".filesize($total));
  29. Header( "Content-Disposition: attachment; filename=$filenames[$i]");
  30. readfile($total);
  31. }
  32. ?>

Googeleando encontre esto y lo probe, funciona perfectamente y creo que es exactamente lo que querias!!
  #3 (permalink)  
Antiguo 24/09/2012, 12:11
 
Fecha de Ingreso: marzo-2008
Ubicación: Santa Cruz, Argentina
Mensajes: 433
Antigüedad: 16 años
Puntos: 5
Respuesta: Ocultar URL de descarga externa

Cita:
Iniciado por moro666 Ver Mensaje
Código PHP:
Ver original
  1. <?
  2. /*
  3. Copyright (c) 1999 Marcel Lemmen
  4. All rights reserved.
  5. */
  6. $files=array( 'track01.mp3', 'escreen.exe');
  7. $filenames=array( 'Thank ABBA for the music.mp3', 'Escreen.exe');
  8. $additional_info=array( 'Various artists - Thanx ABBA for the music : 4978602 by
  9. tes', 'Shareware program to make a screenshot: 529920 bytes');
  10. $url= "/home/lemmen/public_html/data/";
  11. /* When the files are on another server, use the
  12. whole address (http://www.server.com/dir/) in stead of /home/lemmen... */
  13.  
  14. $referer=ereg_replace( "?.", "",$HTTP_REFERER);
  15. $thisfile= "http://$HTTP_HOST$PHP_SELF";
  16.  
  17. if ($referer!=$thisfile){
  18. echo "<center><big>Homepage: <a href="http://home.support.nl/~lemmen">
  19. http://home.support.nl/~lemmen</big><br><hr><br><br></center>";
  20. for ($i=0;$i<count($files);$i++)
  21. echo "<P><A HREF="$PHP_SELF?$i">",$filenames[$i], "</A> $additional_i
  22. nfo[$i]n";
  23. }
  24. else {
  25. $i=$QUERY_STRING;
  26. $total=$url . $files[$i];
  27. Header ( "Content-Type: application/octet-stream");
  28. Header ( "Content-Length: ".filesize($total));
  29. Header( "Content-Disposition: attachment; filename=$filenames[$i]");
  30. readfile($total);
  31. }
  32. ?>

Googeleando encontre esto y lo probe, funciona perfectamente y creo que es exactamente lo que querias!!
¡Hola! Gracias por el código, aunque, ya lo había visto, y utiliza el mismo método que también probé para mi sitio, y no funciona, porque lo que hace es descargar el archivo desde el servidor en un archivo temporal, y de ahi, permitir la descarga, entonces, al ser la descarga desde mi servidor, va muy lenta y se corta a cierta cantidad de megas.

Etiquetas: externa, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:12.