【问题标题】:check file extension in upload form using PHP [duplicate]使用PHP检查上传表单中的文件扩展名[重复]
【发布时间】:2017-02-15 07:50:07
【问题描述】:

我必须检查 .xlsx 文件扩展名是否有效。我有一个 test.docx 用于验证目的,我将文件扩展名 test.docx 更改为 test.xlsx。所以我怎么能处理这个。我正在使用 PHP Excel。

【问题讨论】:

  • 我想你正在寻找这个stackoverflow.com/questions/13626678/…
  • @RakeshMishra 我试过这个代码检查扩展而不检查数据。
  • 所以你想检查内容而不是扩展名是对的?如果其“excel”内容,您无法检查内容。您只能检查数据是否符合您的预期。例如,如果有一个具有特定属性或东西的字段。

标签: php phpexcelreader


【解决方案1】:
    $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());
    ?>

【讨论】:

  • 显示错误Undefined index: html_form_name
  • 将 'html_form_name' 更改为 html 表单中的字段名称。您在此处添加的“名称”属性是什么。这只是一个示例,因为您没有发布您的 html 表单
  • 它只验证扩展名而不是内容。
  • 要验证内容,您需要打开文件并执行自定义检查。浏览 PHPExcel 文档。你没有说你需要什么。你说你只想检查文件扩展名
【解决方案2】:

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

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

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

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 2011-11-25
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 2017-07-28
    • 2014-12-10
    • 2019-06-08
    相关资源
    最近更新 更多