PHP/ファイルのMIMEタイプを確認する方法・finfo_file
の編集
Top
/
PHP
/
ファイルのMIMEタイプを確認する方法・finfo_file
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * ファイル内容からMIMEタイプを確認する方法・finfo_file [#s249547e] PHPのfinfo_file関数を使用することにより、ファイルのMIMEタイプを取得することができます。~ 以下にPHPのサンプルコードを含め説明します。~ 使用した環境は、Ubuntu12.04になります。~ PHPは以下のコマンドでPHP CLIが動作するようにパッケージをインストールしました。 sudo apt-get install php5-cli #contents #htmlinsertpcsp(web-top.html,web-sp.html) * finfo_file, finfo_openを使ったPHPサンプルスクリプト [#u11fbaec] 以下にMIMEタイプを調べたい場合のPHPサンプルスクリプトを記します。 <?php $filename = "MIMEタイプを調べたいファイル"; $finfo = finfo_open(FILEINFO_MIME_TYPE); echo finfo_file($finfo, $filename) finfo_close($finfo); ?> 上記のPHPサンプルスクリプトを簡単に説明します。 + $filenameにMIMEタイプを調べたいファイル名を指定します。 + finfo_open, finfo_file関数を使い、指定したファイル名のMIMEタイプを表示します。 * 実行例 [#k6acdf4f] bmp, jpg, zipファイルを指定し、実際に試してみます。~ 拡張子を変更しても正常にMIMEタイプが判別されているのが確認できます。~ (つまり、ファイル内容を確認しMIMEタイプを表示している。) ** PHPサンプルスクリプト [#z35fc397] 引数で渡されたファイル名のMIMEタイプを表示するサンプルスクリプトです。 #ref(mimetype.php) <?php if ($argc == 1) { echo "Usage: php $argv[0] filename ...\n"; exit(1); } $finfo = finfo_open(FILEINFO_MIME_TYPE); for ($i=1; $i<$argc; $i++) { $filename = $argv[$i]; printf("filename=%s, MIME=%s\n", $argv[$i], finfo_file($finfo, $filename)); } finfo_close($finfo); ?> ** 実行結果1 [#c101574d] -対象ファイル sakura@ubuntu:~$ ls -l 合計 12 -rw-r--r-- 1 sakura sakura 58 12月 13 11:07 bitmap.bmp -rw-r--r-- 1 sakura sakura 631 12月 13 11:07 jpeg.jpg -rw-r--r-- 1 sakura sakura 383 12月 13 11:07 zipfile.zip - 実行結果 sakura@ubuntu:~$ php mimetype.php bitmap.bmp jpeg.jpg zipfile.zip filename=bitmap.bmp, MIME=image/x-ms-bmp filename=jpeg.jpg, MIME=image/jpeg filename=zipfile.zip, MIME=application/zip ** 実行結果2 [#ud0ee7c5] -拡張子を変更する sakura@ubuntu:~$ mv bitmap.bmp bitmap.foo sakura@ubuntu:~$ mv jpeg.jpg jpeg.bar sakura@ubuntu:~$ mv zipfile.zip zipfile.hoge -実行結果 sakura@ubuntu:~$ php mimetype.php bitmap.foo jpeg.bar zipfile.hoge filename=bitmap.foo, MIME=image/x-ms-bmp filename=jpeg.bar, MIME=image/jpeg filename=zipfile.hoge, MIME=application/zip 上記の実行結果を確認すると拡張子で判別しているのではなく、ファイル内容でMIMEタイプを判別していることが確認できます。 以上、finfo_fileを使ってMIMEタイプを確認する方法でした。 #htmlinsertpcsp(web-btm.html,web-sp.html)
タイムスタンプを変更しない
#navi(../) * ファイル内容からMIMEタイプを確認する方法・finfo_file [#s249547e] PHPのfinfo_file関数を使用することにより、ファイルのMIMEタイプを取得することができます。~ 以下にPHPのサンプルコードを含め説明します。~ 使用した環境は、Ubuntu12.04になります。~ PHPは以下のコマンドでPHP CLIが動作するようにパッケージをインストールしました。 sudo apt-get install php5-cli #contents #htmlinsertpcsp(web-top.html,web-sp.html) * finfo_file, finfo_openを使ったPHPサンプルスクリプト [#u11fbaec] 以下にMIMEタイプを調べたい場合のPHPサンプルスクリプトを記します。 <?php $filename = "MIMEタイプを調べたいファイル"; $finfo = finfo_open(FILEINFO_MIME_TYPE); echo finfo_file($finfo, $filename) finfo_close($finfo); ?> 上記のPHPサンプルスクリプトを簡単に説明します。 + $filenameにMIMEタイプを調べたいファイル名を指定します。 + finfo_open, finfo_file関数を使い、指定したファイル名のMIMEタイプを表示します。 * 実行例 [#k6acdf4f] bmp, jpg, zipファイルを指定し、実際に試してみます。~ 拡張子を変更しても正常にMIMEタイプが判別されているのが確認できます。~ (つまり、ファイル内容を確認しMIMEタイプを表示している。) ** PHPサンプルスクリプト [#z35fc397] 引数で渡されたファイル名のMIMEタイプを表示するサンプルスクリプトです。 #ref(mimetype.php) <?php if ($argc == 1) { echo "Usage: php $argv[0] filename ...\n"; exit(1); } $finfo = finfo_open(FILEINFO_MIME_TYPE); for ($i=1; $i<$argc; $i++) { $filename = $argv[$i]; printf("filename=%s, MIME=%s\n", $argv[$i], finfo_file($finfo, $filename)); } finfo_close($finfo); ?> ** 実行結果1 [#c101574d] -対象ファイル sakura@ubuntu:~$ ls -l 合計 12 -rw-r--r-- 1 sakura sakura 58 12月 13 11:07 bitmap.bmp -rw-r--r-- 1 sakura sakura 631 12月 13 11:07 jpeg.jpg -rw-r--r-- 1 sakura sakura 383 12月 13 11:07 zipfile.zip - 実行結果 sakura@ubuntu:~$ php mimetype.php bitmap.bmp jpeg.jpg zipfile.zip filename=bitmap.bmp, MIME=image/x-ms-bmp filename=jpeg.jpg, MIME=image/jpeg filename=zipfile.zip, MIME=application/zip ** 実行結果2 [#ud0ee7c5] -拡張子を変更する sakura@ubuntu:~$ mv bitmap.bmp bitmap.foo sakura@ubuntu:~$ mv jpeg.jpg jpeg.bar sakura@ubuntu:~$ mv zipfile.zip zipfile.hoge -実行結果 sakura@ubuntu:~$ php mimetype.php bitmap.foo jpeg.bar zipfile.hoge filename=bitmap.foo, MIME=image/x-ms-bmp filename=jpeg.bar, MIME=image/jpeg filename=zipfile.hoge, MIME=application/zip 上記の実行結果を確認すると拡張子で判別しているのではなく、ファイル内容でMIMEタイプを判別していることが確認できます。 以上、finfo_fileを使ってMIMEタイプを確認する方法でした。 #htmlinsertpcsp(web-btm.html,web-sp.html)
テキスト整形のルールを表示する
添付ファイル:
mimetype.php
622件
[
詳細
]