PHP はファイルをアップロードしてファイル タイプを決定します
CSV ファイルをアップロードしたいと考えています。
PHP でファイル タイプが CSV であることを確認するにはどうすればよいですか?
注:
拡張子を判断することに加えて、セグメントを判断する他の方法はありますか? ?
-----解決策---------
$_FILES["file"] [ "タイプ"]
------解決策---------
関数 ftype($filename){ $file = fopen($filename, "rb"); $bin = fread($file, 2) //2 バイトのみ読み取ります fclose($file); $strInfo = @unpack("C2chars", $bin); $typeCode = intval($strInfo['chars1'].$strInfo['chars2']); $fileType = ''; スイッチ($typeCode){ ケース 7790: $fileType = 'exe'; 壊す; ケース 7784: $fileType = 'midi'; 壊す; ケース 8297: $fileType = 'rar'; 壊す; ケース 255216: $fileType = 'jpg'; 壊す; ケース 7173: $fileType = 'gif'; 壊す; ケース 6677: $fileType = 'bmp'; 壊す; ケース 13780: $fileType = 'png'; 壊す; デフォルト: $fileType = '不明'; } $fileType を返します。 } <br><font color="#e78608">-----解決策---------</font><br>8階の方法は次のようになったと思います。投稿者によると、アップロードされたファイルのコンテンツが csv 形式であるかどうかを判断する方法を決定しました(拡張子は信じないでください)。その場合、ファイル内のコンテンツを取得して、それが csv であるかどうかを判断することしかできません。ファイルはコンテンツの形式に基づいて作成されますが、このメソッドはバックグラウンドで実装する必要があります。これは、ファイルがこの時点でアップロードされていることを意味し、アップロード後に判断することは役に立ちません。したがって、アップロードしないでコンテンツの形式を判断する以外に良い解決策はないと個人的には考えています。 <br><font color="#e78608">------解決策---------</font><br>