アップロードされた Excel ファイルの種類を検出するための PHP のサンプル コード
リリース: 2016-07-25 08:55:38
-
-
- /**
- * アップロードされたファイルの種類を検出します
- * アップロードされたファイルの Excel ファイルの種類を検出します
- * @param array $file
- * @return bool $flag
- * @site bbs.it-home.org
- */
- private function detectUploadFileMIME($file) {
- // 1.ファイル拡張子判定03 or 07を通して
- $flag = 0;
- $file_array =explode ( ".", $file ["name"] );
- $file_extension = strto lower ( array_pop ( $file_array ) );
-
- // 2.バイナリコンテンツを通してファイルを検出します
- switch ($file_extension) {
- case "xls" :
- // 2003 Excel
- $fh = fopen ( $file ["tmp_name"], "rb" ) ;
- $bin = fread ( $fh, 8 );
- fclose ( $fh );
- $strinfo = @unpack ( "C8chars", $bin );
- $typecode = "";
- foreach ( $strinfo as $num ) {
- $typecode .= dechex ( $num );
- }
- if ($typecode == "d0cf11e0a1b11ae1") {
- $flag = 1;
- }
- 休憩;
- case "xlsx" :
- // 2007 Excel
- $fh = fopen ( $file ["tmp_name"], "rb" );
- $bin = fread ( $fh, 4 );
- fclose ( $fh );
- $strinfo = @unpack ( "C4chars", $bin );
- $typecode = "";
- foreach ( $strinfo as $num ) {
- $typecode .= dechex ( $num );
- }
- echo $typecode;
- if ($typecode == "504b34") {
- $flag = 1;
- }
- 休憩;
- }
-
- // 3.フラグを返す
- return $flag;
- }
复制代
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31