Foros del Web » Programando para Internet » PHP »

prevenir que un archivo mp3 quede en el cache

Estas en el tema de prevenir que un archivo mp3 quede en el cache en el foro de PHP en Foros del Web. Buenas, estaba mirando el manual y encontre este codigo que como bien dice, puede forsar la descarga de un mp3 y/o evitar que termine en ...
  #1 (permalink)  
Antiguo 05/03/2011, 05:33
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 7
prevenir que un archivo mp3 quede en el cache

Buenas, estaba mirando el manual y encontre este codigo que como bien dice, puede forsar la descarga de un mp3 y/o evitar que termine en el cache. El problema es que no entiendo muy bien como aplicar el codigo, y quisiera saber si alguien me puede ayudar a enterderlo, quiero saber si realmente funciona pues lo que quiero es evitar que el archivo mp3 quede en el cache, pero no se como va el codigo, yo por el momento lo hago de esta manera:


Código PHP:
Ver original
  1. $id = $_GET['id_cancion'];
  2.  
  3. $sql = ( "select * from archivos WHERE MD5(concat('".$key."',id)) = '$id'");
  4. $result = mysql_query($sql) or die(mysql_error());{
  5. $row = mysql_fetch_assoc($result);
  6. $ruta =  'CARPETA/' .$row['ruta'];  
  7.  
  8.  
  9. if (is_file($ruta)) readfile($ruta);
  10. if (is_file($ruta)) readfile($ruta);
  11.  
  12. }


Y este es el codigo que me encontre en el manual:

Código PHP:
Ver original
  1. To force download an mp3 file and/or prevent the mp3 from ending up in the browser's cache. This is very similiar to mindplay's example below.
  2.  
  3.  
  4.  
  5. <?php
  6. // Only allow mp3 files
  7. $allowedFileType = "mp3";
  8.  
  9. // Set the filename based on the URL's query string
  10. $theFile = $_REQUEST['theFile'];
  11.  
  12. // Get info about the file
  13. $f = pathinfo($theFile);
  14.  
  15. // Check the extension against allowed file types
  16. if(strtolower($f['extension']) != strtolower($allowedFileType)) exit;
  17.  
  18. // Make sure the file exists
  19. if (!file_exists($theFile)) exit;
  20.  
  21. // Set headers
  22. header("Pragma: public");
  23. header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
  24. header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
  25. header("Cache-Control: no-store, no-cache, must-revalidate");
  26. header("Cache-Control: private");
  27. header("Content-Transfer-Encoding: binary");
  28. header("Content-Type: audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
  29. // This line causes the browser's "save as" dialog
  30. header( 'Content-Disposition: attachment; filename="'.$f['basename'].'"' );
  31. // Length required for Internet Explorer
  32. header("Content-Length: ".@urldecode(@filesize($theFile)));
  33.  
  34. // Open file
  35. if (($f = fopen($theFile, 'rb')) === false) exit;
  36.  
  37. // Push file
  38. while (!feof($f)) {
  39.     echo fread($f, (1*(1024*1024)));
  40.     flush();
  41.     @ob_flush();
  42. }
  43.  
  44. // Close file
  45. fclose($f);
  46.  
  47. ?>


bueno, gracias por su ayuda, me gustaria poder resolver esto pronto...

Etiquetas: cache, prevenir, quede
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 17:09.