2011-01-13 13 views
1

Gibt es eine verfügbare "unabhängige" Funktion, die mime_content_type() ersetzen könnte?PHP: "unabhängige" Funktion zu ersetzen mime_content_type?

Auf meinem neuen Hosting ich Fehler bekommen:
Fatal error: Call to undefined function mime_content_type() in download.php on line 3

finfo_file nicht so gut funktioniert ...

+1

Siehe meine Antwort zu http://stackoverflow.com/questions/2006632/php-how-can-i-check-if-a-file-is-mp3-or-image -file/2006664 # 2006664 – Gordon

+0

* (verwandt) * http://www.mediawiki.org/wiki/Manual:Mime_type_detection#MIME_detection – Gordon

Antwort

1

imitieren einfach die Funktion in Ihrem compat.php, wenn Sie ein

if(!function_exists("mime_content_type")) 
{ 
    function mime_content_type($file) 
    { 
     $open_bit = finfo_open(FILEINFO_MIME_TYPE); 
     return finfo_file($open_bit, $file); 
    } 
} 

Die obige Funktion (FileInfo) eine PECL-Erweiterung und wird von PHP gefördert als Alternative zu verwenden, wenn Sie nicht haben, die Erweiterung installiert Sie können wie folgt vorgehen:

  • Finden Sie die uRL auf die neueste Version von Fileinfo von http://pecl.php.net/package/Fileinfo
  • herunterladen, kompilieren und installieren
  • die folgenden Befehle
    • wget http://pecl.php.net/get/Fileinfo-X.X.X.tgz
    • gunzip Fileinfo-XXXtgz
    • tar -xvf Fileinfo-XXXtar
    • cd fileinfo-XXX
    • configure
    • machen
    • Marke Installation
  • Aktivieren Sie die Erweiterung, indem Sie Ihrer php.ini hinzufügen
  • Starten Sie Ihren Webserver neu und es sollte funktionieren. Und dann weiter wie gewohnt