2011-03-30 82 views
0

我已经使用PHP方法<form action="upload_file.php" method="post" enctype="multipart/form-data">上传Excel表格。现在我想验证Excel表格。验证Excel表格

验证:

如果表包含图像,而不是文字的我需要给一个错误给用户。是否可以验证工作表的内容而无需手动打开工作表?

+1

你能否扩展 - “现在我想验证excel表格。” – bensiu 2011-03-30 12:54:00

+1

不,它不是... PHP(像大多数语言)没有Excel,或PDF或任何特定文件格式的概念,直到您打开该文件并验证它 - 文件只是一个文件,直到它打开PHP验证。如果你想使用Excel文件,你需要一个能够“理解”Excel文件的结构和内容的库。 – 2011-03-30 13:04:41

回答

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类型,验证其是否EXCELL文件,那么你可以看看文件大小,并提出了一些限制,但如果你想知道什么在文件里面,我想你需要打开或解析文件。尝试使用file_get_contents()并逐行验证是否有图像。 (我不确定)

我希望这可以帮到你。

2

如果您打算使用Excel文件中的数据,则必须解析并读取它。如果你可以将它解析为一个Excel文件,那么它可能是Excel,那么你可以安全地依靠像PHPExcel这样的php库。另一方面,如果您不打算使用Excel文件中的数据,我个人认为使用整个库来验证文件是否采用正确的格式将会是过火。