Regina Schaukrug: Grafik (Symbol) abhängig vom Dateityp wählen

Beitrag lesen

Besser ist finfo( $strDateiname )

    $finfo = new finfo( FILEINFO_MIME );
    $mime = $finfo -> file( $file );

Aussenden:

    header( 'Content-type: ' . $mime );
    header( 'Content-Disposition: attachment; filename="' . urlencode( basename( $file ) ) . '"' );
    readfile( $file );

Für die Symbole habe ich einfach eine nette Sammlung aus meinem Linux "raubmordkopiert" (z.B. aus [/usr/share/icons/breeze/mimetypes/32/](file:///usr/share/icons/breeze/mimetypes/32/)). Ich musste nur wenige umbenennen, weil finfo und die Icons leider nicht in jedem Fall übereinstimmen.

function getFilesymbol( $mime ) {
   $mime = str_replace ( '/', '-', $mime );
   if ( is_file( $_SERVER['DOCUMENT_ROOT'] . 'pics/mime/' . $mime . 'png' ) ) {
       return '/pics/mime/' . $mime . 'svg';
   } else {
       return '/pics/mime/unknown.svg';
   }
}