CSV 文件上传不适用于 Codeigniter

2023-12-22

我正在使用下面的代码上传 csv 文件。它总是说“无效文件错误”。我该如何解决这个问题?

这是我的表格:

<form name="bulk_dealer" action="<?= base_url() ?>admin/add_bulk_user" method="post" accept-charset="utf-8"  enctype="multipart/form-data">  
    <ul>  
        <ul>
            <li class="ui-field"><label for="csvfile">Upload dealer id file( *only .csv) :</label></li> 
            <li class="ui-input"><input type="file" name="csvfile" value="" placeholder="" required=""></li>  
            <li><input type="submit" value="Upload" name="Upload" class="ui-submit"></li>  
        </ul>
    </ul>  
</form>

这是我的控制器

function add_bulk_user() {
    $data['add_bulk_user_errors'] = NULL;
    $data['add_bulk_user_success'] = NULL;       

    if ($this->input->post() !== FALSE) {
        $config_arr = array(
            'upload_path' => './uploads/csv/',
            'allowed_types' => 'text/plain|text/csv|csv',
            'max_size' => '2048',
            'max_width' => '1024',
            'max_height' => '768',
            'encrypt_name' => true,
            'file_name' => 'dealer'
        );

        $this->load->library('upload', $config_arr);

        if (!$this->upload->do_upload('csvfile')) {
            $data['add_bulk_user_errors'] = $this->upload->display_errors(); // this isn't working                
        } else {
            $csvfilepath = "uploads/csv/" . $config_arr['file_name'];
            $this->addfromcsv($csvfilepath);
            $data['qs'] = $this->upload->data();
            $row = 1;

            if (($handle = fopen("./uploads/csv/dealer.csv", "r")) !== FALSE) {
                while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
                    $num = count($data);
                    $row++;
                    for ($c = 0; $c < $num; $c++) {

                        $this->load->model("login_model");
                        $is_esist = $this->login_model->check_is_exist($data[$c]);
                        if ($is_esist) {

                        } else {
                            $this->login_model->set_login($data[$c], 'dealer@ceat123');
                        }
                    }
                }
                fclose($handle);
            }

            $data['add_bulk_user_success'] = "File Uploaded Successfully";
        }

        $data['main_content'] = 'admin/add';

        $this->load->view('admin_layout', $data);
        redirect('admin/add_bulk_user', 'refresh');
    } else {
        $data['main_content'] = 'admin/add';
        $this->load->view('admin_layout', $data);
    }
}

哑剧.php

$mimes = array( 'hqx'   =>  'application/mac-binhex40',
            'cpt'   =>  'application/mac-compactpro',
            'csv'   =>  array('text/x-comma-separated-values', 'text/comma-separated-values', 'application/octet-stream', 'application/vnd.ms-excel', 'application/x-csv', 'text/x-csv', 'text/csv', 'application/csv', 'application/excel', 'application/vnd.msexcel'),
            'bin'   =>  'application/macbinary',
            'dms'   =>  'application/octet-stream',
            'lha'   =>  'application/octet-stream',
            'lzh'   =>  'application/octet-stream',
            'exe'   =>  array('application/octet-stream', 'application/x-msdownload'),
            'class' =>  'application/octet-stream',
            'psd'   =>  'application/x-photoshop',
            'so'    =>  'application/octet-stream',
            'sea'   =>  'application/octet-stream',
            'dll'   =>  'application/octet-stream',
            'oda'   =>  'application/oda',
            'pdf'   =>  array('application/pdf', 'application/x-download'),
            'ai'    =>  'application/postscript',
            'eps'   =>  'application/postscript',
            'ps'    =>  'application/postscript',
            'smi'   =>  'application/smil',
            'smil'  =>  'application/smil',
            'mif'   =>  'application/vnd.mif',
            'xls'   =>  array('application/excel', 'application/vnd.ms-excel', 'application/msexcel'),
            'ppt'   =>  array('application/powerpoint', 'application/vnd.ms-powerpoint'),
            'wbxml' =>  'application/wbxml',
            'wmlc'  =>  'application/wmlc',
            'dcr'   =>  'application/x-director',
            'dir'   =>  'application/x-director',
            'dxr'   =>  'application/x-director',
            'dvi'   =>  'application/x-dvi',
            'gtar'  =>  'application/x-gtar',
            'gz'    =>  'application/x-gzip',
            'php'   =>  'application/x-httpd-php',
            'php4'  =>  'application/x-httpd-php',
            'php3'  =>  'application/x-httpd-php',
            'phtml' =>  'application/x-httpd-php',
            'phps'  =>  'application/x-httpd-php-source',
            'js'    =>  'application/x-javascript',
            'swf'   =>  'application/x-shockwave-flash',
            'sit'   =>  'application/x-stuffit',
            'tar'   =>  'application/x-tar',
            'tgz'   =>  array('application/x-tar', 'application/x-gzip-compressed'),
            'xhtml' =>  'application/xhtml+xml',
            'xht'   =>  'application/xhtml+xml',
            'zip'   =>  array('application/x-zip', 'application/zip', 'application/x-zip-compressed'),
            'mid'   =>  'audio/midi',
            'midi'  =>  'audio/midi',
            'mpga'  =>  'audio/mpeg',
            'mp2'   =>  'audio/mpeg',
            'mp3'   =>  array('audio/mpeg', 'audio/mpg', 'audio/mpeg3', 'audio/mp3'),
            'aif'   =>  'audio/x-aiff',
            'aiff'  =>  'audio/x-aiff',
            'aifc'  =>  'audio/x-aiff',
            'ram'   =>  'audio/x-pn-realaudio',
            'rm'    =>  'audio/x-pn-realaudio',
            'rpm'   =>  'audio/x-pn-realaudio-plugin',
            'ra'    =>  'audio/x-realaudio',
            'rv'    =>  'video/vnd.rn-realvideo',
            'wav'   =>  array('audio/x-wav', 'audio/wave', 'audio/wav'),
            'bmp'   =>  array('image/bmp', 'image/x-windows-bmp'),
            'gif'   =>  'image/gif',
            'jpeg'  =>  array('image/jpeg', 'image/pjpeg'),
            'jpg'   =>  array('image/jpeg', 'image/pjpeg'),
            'jpe'   =>  array('image/jpeg', 'image/pjpeg'),
            'png'   =>  array('image/png',  'image/x-png'),
            'tiff'  =>  'image/tiff',
            'tif'   =>  'image/tiff',
            'css'   =>  'text/css',
            'html'  =>  'text/html',
            'htm'   =>  'text/html',
            'shtml' =>  'text/html',
            'txt'   =>  'text/plain',
            'text'  =>  'text/plain',
            'log'   =>  array('text/plain', 'text/x-log'),
            'rtx'   =>  'text/richtext',
            'rtf'   =>  'text/rtf',
            'xml'   =>  'text/xml',
            'xsl'   =>  'text/xml',
            'mpeg'  =>  'video/mpeg',
            'mpg'   =>  'video/mpeg',
            'mpe'   =>  'video/mpeg',
            'qt'    =>  'video/quicktime',
            'mov'   =>  'video/quicktime',
            'avi'   =>  'video/x-msvideo',
            'movie' =>  'video/x-sgi-movie',
            'doc'   =>  'application/msword',
            'docx'  =>  array('application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/zip'),
            'xlsx'  =>  array('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/zip'),
            'word'  =>  array('application/msword', 'application/octet-stream'),
            'xl'    =>  'application/excel',
            'eml'   =>  'message/rfc822',
            'json' => array('application/json', 'text/json')
        );

'allowed_types'=> 'csv',

在您的根目录上转到application -> config -> mimes.php在 csv 中添加'text/plain'

希望这对你有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSV 文件上传不适用于 Codeigniter 的相关文章

  • 显示表中的记录

    我的第一个 PHP 项目遇到了一些麻烦 我试图从 MySQL 数据库 有 3 条记录 获取数据并将其显示在表格中 问题是它似乎只显示记录 2 和 3 它跳过了第 1 条记录 请参阅我的代码并在下面显示 if mysqli connect e
  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • 为什么我不能在 TCPDF 表中使用 č,ć,đ 图表?

    我正在为我的网站构建一个 tcpdf 文件 该 tcpdf 文件中有一个包含一些数据的表格 但我无法使该章程正常工作 对于编码 我使用 windows 1250 宪章女巫不起作用 我已经尝试过 utf 8 但仍然没有得到这个章程 tcpdf
  • WooCommerce 使用 AJAX 设置购物车数量?

    我已经为此绞尽脑汁好几天了 需要一些指导 我正在为 WooCommerce 网站完全从头开始制作自定义主题 现在我正在尝试让购物车功能正常工作 我一直试图使用按钮 来更新购物车中产品的数量 对我来说问题似乎是WC 我在functions p
  • PHP 或 WAMP 不确定是什么

    我已经安装了 WAMP 服务器 2 0 PHP 5 4 3 安装WAMP后我已经重新启动了所有服务并且可以打开 phpinfo 显示良好 phpmyadmin 它也显示得很好 我可以使用数据库 然而 当在 Chrome 中运行简单的 php
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 阻止注销页面后的后退按钮

    我有 php 注销页面 当用户单击注销链接时 请参阅此页面并重定向到索引页面 但是当单击后退按钮时 我会看到带有用户数据的上一页 当然 当我刷新页面时 我看不到以前的页面和数据 我在单击注销并单击后退按钮后检查了其他代码 drupal 但我
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • 如何解码 eval( gzinflate( base64_decode(

    我已将此代码注入到我的网站中 如何解码尾随字符串 我需要知道发生了什么以及其背后的代码是什么 这应该输出将被执行的代码eval 我希望这就是您正在寻找的
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • 如何仅使用 PHP5 RecursiveDirectoryIterator 类递归显示具有特定文件类型的文件夹和子文件夹

    您好 我正在尝试使用 FilterIterator 上的扩展来获取 RecursiveDirectoryIterator 类 但由于某种原因 它仅在根目录上进行迭代 我的代码是这样的 class fileTypeFilter extends
  • MVC 模式中的验证层

    验证模型将使用的数据的最佳位置在哪里 例如 考虑登记表 我们有一些来自注册表的数据 那么验证这些数据的最佳位置在哪里 我们应该通过 if 语句或特殊的验证器类来检查每个数据 这意味着大量的编码 所以我想了解在哪里可以做到这一点 在控制器中
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV

随机推荐

  • Webpack 是否足够智能,可以让 jQuery 变得更轻?

    我知道这是一个非常简单的问题 但我还没有看到任何像这样简单的问题 答案 我正在尝试确定 jQuery 是否值得保留在我的 React 应用程序中 并且我几乎完全将它用于 ajax webpack 是否足够智能 可以仅在捆绑包中包含 jQue
  • JVM 属性 -Dfile.encoding=UTF8 还是 UTF-8?

    我想知道将文件编码设置为 UTF 8 的 Java 虚拟机 JVM 属性的值是多少 我放吗 Dfile encoding UTF8 or Dfile encoding UTF 8 这将是 UTF8 See here http downloa
  • 处理 winform 文本框上的箭头键事件而不覆盖

    我遇到一种情况 我获得了一个 WinForms TextBox 实例 我想将自动完成功能附加到该实例 我已经解决了自动完成 字符串匹配 下拉 的问题 并且到目前为止它工作可靠 使用键盘导航下拉菜单的能力是什么 这是此类 UI 的标准 自然的
  • 多租户应用程序中的 MyBatis Spring

    您好 在多租户中使用 MyBatis spring 时需要一些帮助 应用 是否可以 特别是因为我不知道如何 可以使用 sqlSessionFactory 配置 MapperScannerConfigurer 运行 这是另一种使用插件 也称为
  • “依赖项”不能应用于“(groovy.lang.Closure)”

    我无法修复此错误 dependencies cannot be applied to groovy lang Closure 这是我的 gradle 文件 buildscript repositories maven url http do
  • 出现异常时继续执行

    下面是我要执行的脚本 这里的问题是一旦发生异常它就会停止执行 我用过continue在 catch 块中 但这不起作用 即使发生异常后 我如何让它工作 它应该循环foreach 我也用过一个while true 循环 但进入了无限循环 该怎
  • 注解反射(使用 getAnnotation)不起作用

    我必须按照代码来检查我的实体是否model has a nullable false或字段上的类似注释 import javax persistence Column import private boolean isRequired It
  • jhipster - gyp 动词 `which` 失败错误:未找到:python2

    以下是当我尝试使用 JHipster 生成新项目时出现的错误 gyp verb check python checking for Python executable python2 in the PATH gyp verb which f
  • 是否强制要求短路逻辑运算符?以及评估顺序?

    有ANSI标准吗mandate在 C 或 C 中要短路的逻辑运算符 我很困惑 因为我记得 K R 书中说你的代码不应该依赖于这些被短路的操作 因为它们可能不会 有人可以指出标准中哪里说逻辑操作总是短路的吗 我对 C 最感兴趣 对于 C 的答
  • 使用动态 form_class 更新视图

    我想动态改变form class of an UpdateViewDjango 1 6 中的 CBV 我尝试使用 get context data 来执行此操作 但这没有帮助 因为表单已经初始化 所以这需要在 init 我猜 这是我尝试过的
  • R中的zoo对象和ts对象有什么区别?

    我想知道使用上的差异ts or zoo 功能 动物园对象的索引属性中的时间值 可能不规则 在控制台上显示为行名称print zoo方法以及矩阵或原子向量中的值 这些值对可以使用的值进行了限制 通常是数字 但必须全部是单一模式 即不是像数据帧
  • 我应该在程序结束时删除 C++ 中的大树集合还是将其留给操作系统? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这可能是个有点愚蠢的问题 我应该打电话吗delete在节目结束时的巨大地图 场景上 假设整个程序都需要地图 集合 delete是返回前的最后一行
  • tumblr 和 google+ 如何像拼图一样堆叠图像?

    我想要制作一个图像库 并且想知道如何像 Google 和 tumblr 那样堆叠图像 我的意思是 当你查看 tumblr 的存档页面时 它们都堆积在列中 http the overlook hotel tumblr com archive
  • Azure 网站支持的最大域数

    我们正在构建一个托管服务 每个用户在注册时都会在我们的服务域上获得一个自定义子域 例如john myservice com 我们通过在 Azure 网站的域管理器中添加通配符条目来处理此问题 myservice com Azure 网站现在
  • Heroku 上的回形针?

    我很好奇是否有人可以在不使用 S3 的情况下在 Heroku 上工作 我假设 Heroku 是一个只读系统 但必须有某种方法可以在那里保存图像 您无法写入 Heroku 的文件系统 因此无法按照您想要的方式保存图像 您的选择是使用 S3 等
  • django-rest-auth 重置密码 uid 和令牌

    我们的团队在后端使用 django rest api 进行项目 并在前端进行响应 对于身份验证 我们使用 django rest auth 并且我们在密码重置方面遇到问题 这里的网址 urlpatterns url r accounts i
  • 如何在 AngularJS 中异步加载谷歌地图?

    现在我已经找到了一种在以下方法的帮助下初始化 Google 地图的方法安迪 乔斯林 https stackoverflow com users 1397051 andy joslin在这个SO在 angularjs 中初始化 google
  • 使用 ReverseLayout recyclerview 将项目添加到 Endless Scroll RecyclerView

    在普通的回收器视图中 最新的项目都位于顶部 如果您将项目添加到回收器视图中 它会将现有项目向下推 新项目占据顶部位置 在reverseLayout recyclerview中 最新的项目都位于底部 如果您将项目添加到recyclerview
  • 如何在 Maven 项目中添加 Flight Recorder 启用标志?

    我正要开始使用Java 任务控制 5 3 0 我已经添加了 XX 解锁商业功能 XX FlightRecorder进入我的网络应用程序的 jetty template 然后我启动网络应用程序mvn 码头 运行 但是当我开始的时候飞行记录仪我
  • CSV 文件上传不适用于 Codeigniter

    我正在使用下面的代码上传 csv 文件 它总是说 无效文件错误 我该如何解决这个问题 这是我的表格