首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在用户上传非.csv文件时添加错误消息

问如何在用户上传非.csv文件时添加错误消息
EN

Stack Overflow用户
提问于 2015-11-07 05:57:22
回答 2查看 935关注 0票数 1

我有一个用PHP上传.csv文件的代码。它正在正常工作。我想要的是,如果用户上传一个文档或图像类型,显示警告或错误消息。这是我的代码:

代码语言:javascript
复制
<?php
   include_once 'db.php';
   if(isset($_POST['submit'])){

     if($_FILES['csv_data']['name']){
      $arrFileName = explode('.',$_FILES['csv_data']['name']);
      if($arrFileName[1] == 'csv'){
        $handle = fopen($_FILES['csv_data']['tmp_name'], "r");
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $item1 = mysqli_real_escape_string($dbConnection,$data[0]);
        $item2 = mysqli_real_escape_string($dbConnection,$data[1]);
        $import="INSERT into tbl_csv values('','$item1','$item2')";
        mysqli_query($dbConnection,$import);
      }
       fclose($handle);
        print "Import done";
     }
     }else{
     echo "only Excel";
     }
   }
?>


 <html>
 <head>
 <title>Upload CSV and Insert into Database Using PHP</title>
 <head>
 <body>
 <form method='POST' enctype='multipart/form-data'>
  Upload CSV: <input type='file' name='csv_data' /> <input type='submit' name='submit' value='import' />
 </form>
 </body>
 </html>

该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-07 06:38:10

您可以使用

代码语言:javascript
复制
if(pathinfo( $_FILES['csv_data']['name'],PATHINFO_EXTENSION) =='csv')

或

代码语言:javascript
复制
if ($_FILES['csv_data']['type'] == 'text/csv')

以下是您的php代码

代码语言:javascript
复制
if (isset($_POST['submit'])) {

            if (!empty($_FILES['csv_data']['name'])) {
                if(pathinfo( $_FILES['csv_data']['name'],PATHINFO_EXTENSION) =='csv') {
                    $handle = fopen($_FILES['csv_data']['tmp_name'], "r");
                    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
                        $item1 = mysqli_real_escape_string($dbConnection, $data[0]);
                        $item2 = mysqli_real_escape_string($dbConnection, $data[1]);
                        $import = "INSERT into tbl_csv values('','$item1','$item2')";
                        mysqli_query($dbConnection, $import);
                    }
                    fclose($handle);
                    print "Import done";
                }
                else{
                   echo "only csv file allowed"; 
                }
            } else {
                echo "Please select file";
            }
        }
票数 1
EN

Stack Overflow用户

发布于 2015-11-07 06:07:32

更新:

csv_file_upload.php:

代码语言:javascript
复制
<?php

   if(isset($_POST['submit'])){
        if(isset($_FILES['csv_data']['tmp_name'])){
            $file_ext = end( (explode('.',$_FILES['csv_data']['name']) ));
            if($file_ext == 'csv' || $file_ext == 'CSV'){
                echo 'CSV file uploaded!';
            }
            else { 
              echo 'ERROR: No CSV file uploaded!';
            }
        }
   }
?>


 <html>
 <head>
 <title>Upload CSV and Insert into Database Using PHP</title>
 <head>
 <body>
 <form method='POST' action="csv_file_upload.php" enctype='multipart/form-data'>
  Upload CSV: <input type='file' name='csv_data' /> <input type='submit' name='submit' value='import' />
 </form>
 </body>
 </html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33579659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档