ExcelシートをアップロードするのにPHPメソッド<form action="upload_file.php" method="post" enctype="multipart/form-data">
を使用しました。今、私はExcelシートを検証したいと思います。Excelシートを検証する
検証:シートではなく、テキストの画像が含まれている場合
は、私は、ユーザーにエラーを与える必要があります。シートを手動で開かずにシートの内容を検証することは可能ですか?
ExcelシートをアップロードするのにPHPメソッド<form action="upload_file.php" method="post" enctype="multipart/form-data">
を使用しました。今、私はExcelシートを検証したいと思います。Excelシートを検証する
検証:シートではなく、テキストの画像が含まれている場合
は、私は、ユーザーにエラーを与える必要があります。シートを手動で開かずにシートの内容を検証することは可能ですか?
$filename = $_POST['your_field_file'];
$finfo = finfo_open(FILEINFO_MIME_TYPE);
echo finfo_file($finfo, $filename);
またはこの
$filename = "/home/user1/whatever.xls"; //or $_POST['your_field_file'];
echo $finfo->file($filename);
それは、MIMEタイプを返し、それはエクセルファイルであれば、あなたはファイルサイズを見て、いくつかの制限を置くことができます確認し、しかし、あなたは何を知りたい場合しますファイルの中に持っている、私はあなたがファイルを開くか解析する必要があると思う。 file_get_contents()
を使用して、画像がある場合は行ごとに確認してください。 (私はそれについては分かりません)
私はこの助けを願っています。
fileinfo
PHP extensionのように、アップロードしているファイルのMIMEタイプを確認する必要があります。
Excelファイルのデータを使用する場合は、解析して読み取る必要があります。それをExcelファイル、それからおそらくExcelとして解析することができれば、PHPExcelのようなPHPライブラリに安全に頼ることができます。
一方、Excelファイルのデータを使用する予定がない場合は、ライブラリ全体を使用して、ファイルが適切な形式であるかどうかを検証することが難しいと私は個人的に考える。
あなたはエクステンションシートを検証する必要があります。 – bensiu
いいえ、そうではありません... PHPは(ほとんどの言語のように)ExcelやPDF、あるいは特定のファイルフォーマットの概念を持っていません。そのファイルを開いて確認するまでです。検証された。 Excelファイルで作業する場合は、Excelファイルの構造と内容を「理解」できるライブラリが必要です。 –