2017-02-15 216 views
0

我必须检查.xlsx文件的扩展名是否有效。我有一个test.docx用于验证目的,我将文件扩展名test.docx更改为test.xlsx。所以我该如何处理这个问题。我正在使用PHP Excel。使用PHP在上传表格中检查文件扩展名

+0

我认为你正在寻找这个http://stackoverflow.com/questions/13626678/ phpexcel-how-to-check-whether-a-xls-file-is-valid-or-not –

+0

@RakeshMishra我试过这段代码检查只扩展名而不检查数据。 –

+0

所以我说得对,你想检查内容而不是扩展名?您无法检查内容是否为“excel”内容。您只能检查数据是否符合您的期望。例如,如果有一个具有特定属性或某物的字段。 – Twinfriends

回答

0
$filename = $_FILES['html_form_name']['name']; 
    $ext = pathinfo($filename, PATHINFO_EXTENSION); 
    if($ext == 'xlsx'){ 
//it is xslx 
}else{ 
//handle error 
} 

$file_name = "word_document.docx"; 
     $extension = pathinfo($file_name); 
     echo "Your file extension is ".$extension ['extension']; 

此外,如果你使用的是PHP> 5.3.6,

<?php 

    $info = new SplFileInfo('document_name.xlsx'); 
    var_dump($info->getExtension()); 
    ?> 
+0

显示错误'未定义的索引:html_form_name' –

+0

将“html_form_name”更改为您的html表单中的字段名称。无论您为“名称”指定的属性是您在此处添加的内容。这仅仅是一个例子,因为你没有发布你的html表格 – Akintunde007

+0

它只验证扩展而不是内容。 –

0

我已经做了这个样子。它基于文件名,而不是mime类型。

$extension = end((explode(".", $fileName))); 
  • 爆炸的.
  • 得到数组的最后一个值

    if ($extension == "your valid extension"){ //your logic goes here