Versio

Content Type lezen

Overzicht Reageren

Jason de Ridder

Jason de Ridder

21/11/2007 12:47:00
Quote Anchor link
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
 
PHP hulp

PHP hulp

24/05/2012 06:51:31
Gesponsorde koppelingen:
 
Frank -

Frank -

21/11/2007 12:54:00
Quote Anchor link
Wat dacht je van finfo_open() ?

mime_content_type is deprecated, zie de handleiding.
 
Jason de Ridder

Jason de Ridder

21/11/2007 13:01:00
Quote Anchor link
Zie mijn post. finfo_open etc. kan ik niet gebruiken...
 
Robert Deiman

Robert Deiman

21/11/2007 13:14:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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);
?>
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 
Frank -

Frank -

21/11/2007 13:15:00
Quote Anchor link
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.
 
Jason de Ridder

Jason de Ridder

21/11/2007 13:16:00
Quote Anchor link
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.
Gewijzigd op 01/01/1970 01:00:00 door Jason de Ridder
 
Robert Deiman

Robert Deiman

21/11/2007 13:20:00
Quote Anchor link
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
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 



Overzicht Reageren

Get Adobe Flash player