Hallo!

Is er een manier om de content-type van een file uit te lezen? Ik weet dat er een functie bestaat (mime_content_type), alleen deze voldoet niet aan mijn eisen. Aangezien de mime types in de Apache file incompleet is. (Een png image geeft ie terug als text/plain). Ook heb ik gekeken naar finfo_* alleen deze is nog in een te pril stadium.

Dus weet iemand een manier?

Bedankt!
Groet,
Jason
Wat dacht je van finfo_open() ?

mime_content_type is deprecated, zie de handleiding.
Zie mijn post. finfo_open etc. kan ik niet gebruiken...
<?php
$folder = 'downloads/';
$myFile = 'mimes.csv';
$theData = file ($folder.$myFile);
$extention = explode('.',$myFile);
$extention = $extention[count($extention)-1];
foreach($theData as $value){
list($mime['ext'],$mime['type']) = explode(';',$value);
//echo '<tr><td>'.$extension.'</td><td>'.$mime_type.'</tr>';
if($mime['ext'] == $extention){
$mimetype = $mime['type'];
}
}

// Soort aangeven
header('Content-type: '.$mimetype);

// Naam toekennen en zorgen dat het downloadvenster getoond wordt.
header('Content-Disposition: attachment; filename="'.$myFile.'"');
header('Content-Length: '.filesize($folder.$myFile));
readfile($folder.$myFile);
?>
Raar, bij mijn weten gebruik je of de ene of de andere. Dus of mime_content_type of finfo_open. Dat staat ook in de handleiding, wat voor mij altijd de leidraad is.
Dank je Robert. Ik ga het er even mee proberen ;)

-- Nee het werkt niet :-P

Maar genoeg gekkigheid, ik heb het gevonden, het wordt een unix command:
trim(exec("file -bi ".escapeshellarg($filename)));

Edit:
@ Frank:
mime_content_type werkt wel, maar voldoet niet aan mijn eisen.

@ Robert:
Je checkt nu op extensie, dat is niet de bedoeling.
Kan ook Jason.. -> Het werkt op zich prima, het is maar een opzetje..;) Ik heb het al getest met mijn .csv file waarmee en waarvan die in het voorbeeld het mime type uit de array haalt.

De locatie van die .csv file is: http://www.robertdeiman.net/phphulp/mimes.csv


Maar volgens mij moet dat van Frank ook voor de meeste files wel werken..

[edit]
Het vergt uiteraard wel wat aanpassing, maar werkt bij mij prima.. *hij bied nu elk file type ter download aan, maar ook dat is simpel aan te passen
[/edit]

Reageren