Los ficheros PDF y los XLSX los descargo sin problema, a la hora de descargar ficheros pptx ppsx, los descarga pero el office no los abre.
Código PHP:
//realizamos la busqueda
$result=mysql_query("select * from Documentacion where ID_Documento = '$ID_Documento'", $connection);
$row=mysql_fetch_array($result);
// Actualiza la cantidad de descargas
$sql = "UPDATE Documentacion SET Descargas=Descargas+1 WHERE ID_Documento='$ID_Documento' LIMIT 1";
mysql_query($sql);
$nombre_fichero = $row[NombreFichero];
$extension = $row[Extension];
$nombre = "$nombre_fichero.$extension";
$filename = "$nombre";
$ruta_documentacion = "documentacion";
$filepath = $ruta_documentacion."/".$filename;
$size = filesize($filepath);
$extension_mime = end(explode('.', $nombre));
$mimeType = '';
switch ($extension_mime) {
case 'pdf':
$mimeType = 'pdf';
break;
case 'doc':
$mimeType = 'msword';
break;
case 'docx':
$mimeType = 'vnd.openxmlformats-officedocument.wordprocessingml.document';
break;
case 'xls':
$mimeType = 'vnd.ms-excel';
break;
case 'xlsx':
$mimeType = 'vnd.openxmlformats-officedocument.spreadsheetml.sheet';
break;
case 'ppt':
$mimeType = 'vnd.ms-powerpoint';
break;
case 'pptx':
$mimeType = 'vnd.openxmlformats-officedocument.presentationml.presentation';
break;
case 'pps':
$mimeType = 'vnd.ms-powerpoint';
break;
case 'ppsx':
$mimeType = 'vnd.openxmlformats-officedocument.presentationml.slideshow';
break;
}
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header('Content-type: application/' . $mimeType);
header("Content-Disposition: attachment; filename=\"".basename($filepath)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$Size);
readfile("$filepath");