2011-03-30 15 views
0

ExcelシートをアップロードするのにPHPメソッド<form action="upload_file.php" method="post" enctype="multipart/form-data">を使用しました。今、私はExcelシートを検証したいと思います。Excelシートを検証する

検証:シートではなく、テキストの画像が含まれている場合

は、私は、ユーザーにエラーを与える必要があります。シートを手動で開かずにシートの内容を検証することは可能ですか?

+1

あなたはエクステンションシートを検証する必要があります。 – bensiu

+1

いいえ、そうではありません... PHPは(ほとんどの言語のように)ExcelやPDF、あるいは特定のファイルフォーマットの概念を持っていません。そのファイルを開いて確認するまでです。検証された。 Excelファイルで作業する場合は、Excelファイルの構造と内容を「理解」できるライブラリが必要です。 –

答えて

1
$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()を使用して、画像がある場合は行ごとに確認してください。 (私はそれについては分かりません)

私はこの助けを願っています。

2

Excelファイルのデータを使用する場合は、解析して読み取る必要があります。それをExcelファイル、それからおそらくExcelとして解析することができれば、PHPExcelのようなPHPライブラリに安全に頼ることができます。

一方、Excelファイルのデータを使用する予定がない場合は、ライブラリ全体を使用して、ファイルが適切な形式であるかどうかを検証することが難しいと私は個人的に考える。

関連する問題