PHP 5.3.8をCentOSサーバーにインストールした状態で、fileinfoで単純なPNGファイルのMIMEタイプを検出できません。私は次のコードを持っている場合PHP 5.3.8でfileinfoでMIMEタイプの検出に失敗しました
問題
は基本的には、:あなたがファイルを見ることができるように
<?php
$const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
$handle = finfo_open($const, '/usr/share/file/magic.mime');
$result = finfo_file($handle, '/var/vhosts/v4dev/public/Melvin.png');
echo $result;
unset($handle);
?>
をPNG画像です。ファイルのヘッダーバイトがチェックされていて、正しいものです。
application/octet-stream
私は、ファイルの種類が検出されなかったためであると思います、とのFileInfoは、デフォルトの応答を返されたが、私はそれをチェックする方法を発見した。しかし、このページには、間違った結果を出力します。
file -m /usr/share/file/magic.mime /var/vhosts/v4dev/public/Melvin.png
期待された結果が返さ:
/var/vhosts/v4dev/public/Melvin.png: image/png
私を、私はmagic.mimeファイルの正しさを確認するには
を試してみました何
、私は、ファイルのコンソールコマンドを使用しましたApacheで提供されている別のmagic.mimeファイルも試しましたが、問題は残ります。
デフォルトのfileinfoの場所(シンボリックリンクとファイルのコピー)、MAGIC
の環境変数、およびfinfo_open
コール(上記)のファイルパスを指定してmagic.mimeファイルを指定しようとしました。
PHPを更新しようとしました。
...今ではオプションがありません。誰もがこれで私を助けることができれば、彼/彼女は幸せに暮らすことができるように
、私は空間を介して幸せの波を送信すると思います。
乾杯
私は何かより堅固なものが得られるまで、一時的なハックとして機能するかもしれない。ありがとう。 – Shtong