Cómo forzar un archivo (mp3) a que de la opcion de guardar y abrir en Drupal

// Crear un hook
$items['mp3s'] = array(
    'page callback' => 'mp3s',
    'access arguments' => array('access content'),
    'type' => MENU_CALLBACK
  );


//Crear funcion 
function mp3s(){
    $f = $_GET['file'];
    header("Content-type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"$f\"\n");
    $fp=fopen("$f","r");
    fpassthru($fp);
}


Luego de realizar el hook y su función respectiva para cargar los encabezados, en una vista podría ser:

1. traer el campo o archivo (mp3), para este caso es un archivo .mp3 ([field_pod_fid_1])  que lo muestro trayendo la Ruta a fichero  y no el link. esto traerá algo asi: /sites/default/files/nombre_archivo.mp3
2. Adicionar un campo cualquiera, puede ser el Título y en la opción Rewrite the output of this field checkearla y poner lo siguiente:
<a href="mp3s?file=[field_pod_fid_1]" class="descargar_audio" target="_blank">Descargar audio</a>

[field_pod_fid_1], es el nombre del campo adicionado anteriormente.

Listo.


Comentarios

Entradas populares