首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Codeigniter上传excel并保存到数据库(网络错误(tcp_error))

CodeIgniter是一个轻量级的PHP开发框架,它提供了一套简单而优雅的工具和库,帮助开发者快速构建Web应用程序。在CodeIgniter中,上传Excel文件并保存到数据库可以通过以下步骤实现:

  1. 配置文件:首先,需要在CodeIgniter的配置文件中设置上传文件的相关配置。打开config.php文件,找到$config['base_url']配置项,并设置为你的应用程序的基本URL。然后,找到$config['index_page']配置项,并设置为空字符串。最后,找到$config['encryption_key']配置项,并设置一个加密密钥。
  2. 控制器:创建一个控制器来处理上传Excel文件的逻辑。在控制器中,你需要加载CodeIgniter的上传库,并设置上传文件的配置。然后,通过调用$this->upload->do_upload()方法来执行上传操作。如果上传成功,你可以获取上传文件的信息,并将其保存到数据库中。
代码语言:php
复制
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Upload extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->helper(array('form', 'url'));
    }

    public function index() {
        $this->load->view('upload_form', array('error' => ' ' ));
    }

    public function do_upload() {
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'xls|xlsx';
        $config['max_size'] = 1024;

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

        if (!$this->upload->do_upload('userfile')) {
            $error = array('error' => $this->upload->display_errors());
            $this->load->view('upload_form', $error);
        } else {
            $data = array('upload_data' => $this->upload->data());
            // 将上传文件的信息保存到数据库中
            $this->load->model('excel_model');
            $this->excel_model->save_excel($data['upload_data']['file_name']);
            $this->load->view('upload_success', $data);
        }
    }
}
  1. 视图:创建一个上传表单的视图文件upload_form.php,用于显示上传文件的表单。在表单中,你需要设置enctype="multipart/form-data"属性,以支持文件上传。
代码语言:html
复制
<html>
<head>
    <title>Upload Form</title>
</head>
<body>
    <?php echo $error;?>
    <?php echo form_open_multipart('upload/do_upload');?>
    <input type="file" name="userfile" size="20" />
    <br /><br />
    <input type="submit" value="Upload" />
    </form>
</body>
</html>
  1. 模型:创建一个模型文件excel_model.php,用于保存上传的Excel文件到数据库中。在模型中,你可以使用CodeIgniter的数据库类来执行数据库操作。
代码语言:php
复制
<?php
class Excel_model extends CI_Model {

    public function __construct() {
        parent::__construct();
        $this->load->database();
    }

    public function save_excel($filename) {
        $data = array(
            'filename' => $filename,
            'uploaded_at' => date('Y-m-d H:i:s')
        );

        $this->db->insert('excel_files', $data);
    }
}

这样,当用户访问upload控制器的index方法时,将显示一个上传表单。用户选择Excel文件并点击上传按钮后,将调用do_upload方法进行文件上传和保存到数据库的操作。

注意:在以上代码中,./uploads/目录用于存储上传的Excel文件,你需要确保该目录存在并具有写入权限。

关于CodeIgniter的更多信息和详细的使用方法,请参考腾讯云的相关文档和官方网站:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

java入门019~springboot批量导入excel数据到mysql

我们在前面的章节已经讲了如何用jpa或者mybatis来操作mysql数据库。这一节我们就来结合具体案例,来讲解下excel表格的上传,与excel表里数据的识别。...并把识别后的数据批量导入到mysql数据库 所用知识点 springboot 2.1.9 excel文件上传 excel数据批量识别 excel数据上传到mysql数据库 jpa的使用 jpa的使用我们在上一节已经给大家讲过了...的数据保存到数据库 try { for (ExcelBean excel : list) { System.out.println...body> 上传excel文件并存入到mysql数据库 <form action="/uploadExcel" method="post" enctype="multipart/form-data...既然数据已经识别出来了,接下来就是通过一个for循环,把我们识别出来的5行数据,批量的<em>存到</em>数据里就可以了。 今天就先到这里,下一节来讲如何把这些数据<em>存到</em>mysql<em>数据库</em>里。

5.7K32
  • 新加坡新集团(SingHealth)网络攻击事件的可疑线索分析

    近期,安全公司 Trustwave 旗下 SpiderLabs 实验室发现了可能与新加坡新集团(SingHealth)网络攻击相关的一些信息线索,在前一篇文章中,他们以威胁情报视角分析了新集团的整个网络攻击事件...我们的 SpiderLabs 团队发现了在两个不同时间点上传的两篇单独的 Pastebin 帖子,该两篇Pastebin帖子包含的信息,是一些对新集团的数据库访问操作,其中一篇帖子罗列了Java服务器相关的异常日志...2018年6月15日 另外,SpiderLabs 团队还发现了一篇 6 月 15 日上传的 Pastebin 帖子,其中包含了一些新集团数据库相关的SQL查询信息,这个帖子上传日期在两个关键时间点-6...可以说,这种包含错误日志和查询的 Pastebin 帖子,很多时候可能是开发人员之间为了排除故障而进行的相互共享,所以,基于此种原因,我们不能确定到底是谁上传了这些内容到Pastebin,也不清楚其实际意图...单纯来看,这些线索可能多少有点不正常,但结合网络攻击的时间和结果,我们认为这些线索与新集团(SingHealth)数据泄露事件相关。

    94620

    第160期:express上传excel 文件

    封面图 image.png 旧工厂改造的园区中的旧设备 背景 近期有人给我提了个简单的需求,上传一个excel表格。于是简单的用 express实现了一下这个功能的基本代码。...通常情况下上传表格的基本逻辑是:先上传文件,然后遍历表格文件中的数据插入到数据库中。...xlsx 是SheetJS社区版提供久经考验的开源解决方案,可以从几乎任何复杂的电子表格中提取有用的数据,生成新的电子表格,这些电子表格可以与传统和现代软件一起使用。...我这里的场景主要是要上传表格,所以用了xlsx,如果你需要上传图片或者其他的内容,你可以将图片转为base64字符串,或者如果你有云存储空间的话,可以存到云存储上。...excel文件的基本过程。

    31030

    TP3.2.3框架文件上传操作实例详解

    $info) {// 上传错误提示错误信息 $this- error($upload- getError()); }else{// 上传成功 $this- success('上传成功!')...$info) {// 上传错误提示错误信息 $this- error($upload- getError()); }else{// 上传成功 获取上传文件信息 foreach($info as $file...上传文件的sha1哈希验证字符串 仅当hash设置开启后有效 文件上传成功后,就可以使用这些文件信息来进行其他的数据操作,例如保存到当前数据表或者单独的附件数据表。...$info) {// 上传错误提示错误信息 $this- error($upload- getError()); }else{// 上传成功 获取上传文件信息 echo $info['savepath'...CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    1.2K20

    SpringBoot项目:RedisTemplate实现轻量级消息队列(含代码)

    背景: 公司项目有个需求, 前端上传excel文件, 后端读取数据、处理数据、返回错误数据, 最简单的方式同步处理, 客户端上传文件后一直阻塞等待响应, 但用户体验无疑很差, 处理数据可能十分耗时,...2、将文件存储到腾讯cos 3、将上传后的文件id及上传记录保存到数据库 4、redis生产一条导入消息, 即保存文件id到redis 5、请求结束, 返回"处理中"状态 6、redis消费消息 7、...读取cos文件, 异步处理数据 8、将错误数据以excel形式上传至cos, 以供用户下载, 更新处理状态为"处理完成" 9、客户端轮询查询处理状态, 并可以下载错误文件 10、结束 五、实现效果 1...上传文件 2、数据库导入记录 ? 数据库导入记录 3、导入的数据 ? 导入的数据4、下载错误文件 ? 下载错误文件 5、错误数据提示 ? 错误数据提示 5、查询导入记录 ?...= null) { IOUtils.closeQuietly(fos); } } } 8、读取网络文件流 /** * 读取网络文件流 * @param

    2.5K20

    小程序读取excel表格数据,并存储到云数据库

    老规矩先看效果图 [format,png] 效果其实很简单,就是把excel里的数据解析出来,然后存到数据库里。说起来很简单。但是真的做起来的时候,发现其中要用到的东西还是很多的。不信。。。。...给我们 4,定义一个excel云函数 5,把第3步返回的fileid传递给excel云函数 6,在excel云函数里解析excel,并把数据添加到云数据库。...一,选择并上传excel表格文件到云存储 这里我们使用到了云开发,使用云开发必须要先注册一个小程序,给自己的小程序开通云开发功能。...[format,png] 点击上传按钮,选择我们的表格文件 [format,png] 上传成功的返回如下,可以看出我们添加了3条数据到数据库 [format,png] 添加成功效果图如下 [format...,png] 到这里我们就完整的实现了小程序上传excel数据到数据库的功能了。

    5.8K83

    PHPExcel 表格导入数据代码解析(二)

    前面大概讲了phpexcel用表格导入数据到数据库中的教程,今天会详细剖析函数代码,话不多说,先上代码: public function upload() { ini_set('memory_limit...$info = $upload->upload()) { //$upload调用upload()函数赋值给$info $this->error($upload->getError...设置好上传的参数后,就可以调用Think\Upload类的upload方法进行附件上传,如果失败,返回false,并且用getError方法获取错误提示信息;如果上传成功,就返回成功上传的文件信息数组。...$info) {// 上传错误提示错误信息 $this->error($upload->getError()); }else{// 上传成功 获取上传文件信息 foreach($info as...设置开启后有效 文件上传成功后,就可以使用这些文件信息来进行其他的数据操作,例如保存到当前数据表或者单独的附件数据表 $model = M('Photo'); // 取得成功上传的文件信息 $info

    1.5K60

    ONLYOFFICE历史版本开发技术之二

    //blog.csdn.net/hotqin888/article/details/79690391  1.它只支持word的历史版本,PowerPoint和Excel...5.能下载下来,可以重新上传进去协作。这是它存在的价值。...最后一个人关闭后,协作服务器(下文简写OODS——onlyoffice document server)会返回一条json数据给cms,cms获得这条数据后,解析为结构体,然后做2件事,一个是这条数据里含了最新文档在...OODS中的地址(url),cms根据这个url把文档下载下来,存到cms中,同时更新这个文档在数据库中的时间——这个新的时间(updatedtime)下次用来打开这个文档的key;另外一件事是数据中包含了修改记录文件...(changesurl)地址,和这个版本的作者user、时间created,key1等信息,cms获取后需要存到数据库中,不需要下载真正的历史版本文件,只要这些数据比如key1,历史版本修改记录文件地址

    2.5K20

    JSP上传文件与导出Excel

    type="submit" name="subimit">上传 然后编写一个servlet,用来将上传的文件都保存到指定的路径中: import...我上传了两个文件: ? 上传之后在你的工程路径下找target目录下的uploadDir目录(如果你使用的是IDEA),看看有没有上传成功,我这里是上传成功了: ?...也可以事先准备好一个带有样式的Excel文件,然后把数据导入该Excel文件中,例如我有一个Excel文件,文件样式如下: ?...还可以导入到别的Excel文件中,只需要把保存路径改一下就可以了。 把数据库中的表格数据导出为Excel表: 数据库表格内容如下: ?...HSSFWorkbook(); //创建工作表对象 HSSFSheet hssfSheet = workbook.createSheet("学生信息"); //得到数据库连接对象执行查询语句

    3.9K20

    POI解析Excel文件利用SpringMVC上传下载

    前言​本文主要介绍的是利用POI技术解析Excel文件,包括将Excel文件封装成一个实体对象List和将实体对象List转换文Excel文件 ,本人也是多次会用了POI技术和SpringMVC上传下载技术...案例实操1、POI解析Excel文件文件上传前端jsp页面通过表单编写,代码如下:<form class="form-horizontal" action="${App_Path }/busStationController...(fileName.contains("xls") || fileName.contains("xlsx"))) {// 格式错误//return "error";}// * 2.2是Excel文件,由于浏览器不能显示文件的绝对路径.../ 导入错误//return "error";}// * 6.完毕,上传文件被统一放在上传目录中// * 执行导入系统操作// * 1.在上传目录中根据fileName,拼装成绝对路径String inportpath...封装Excel文件利用SpringMVC的ResponseEntity的进行下载操作, 首先数据保存到本地web应用目录中即指定文件文件下,之后客户端直接下载,之后通过输入流,将该文件读入,并且激活下载器下载文件

    17120

    Codeigniter里的无刷新上传的实现代码

    好久没有更新了,写点吧算是翻译吧,纯原创没空啊XD Codeigniter还是很好用的,淡水一直很推崇。说是codeigniter里的无刷新上传吧,fashion 一点的说法就是利用AJAX技术上传。...检查返回的json数据,如果没有错误,就刷新文件列表(下文有),清除title字段。不管怎样,都alert出返回的数据。 第三步,上传文件 控制器部分 现在开始上传文件了。...不为空就加载codeigniter的upload库。这个类库为我们处理了很多的数据验证。 接着,我们上传文件了。如果成功我们保存title和file_name。...模型部分 按大多数人的MVC模式理念,我们应该在模型里处理数据库交换。...不要忘记在根目录建立个files文件夹,给他写入权限。

    1.7K20

    SRC漏洞挖掘经验分享

    文件解析造成的XXE 网站存在一个有意思的功能点,通过上传Excel会将内容显示在页面上,也就是说后端会解析Excel Excel是通过XML来存储数据的,也就是说网站解析了XML,那么我们就可以在XML...中注入语句来尝试攻击 新建一个"新建 Microsoft Excel 工作表.xlsx",将后缀改为.zip解压 尝试在"[Content_Types].xml"中注入语句,之后再压缩回.zip然后重命名为...ENTITY % b SYSTEM "http://你服务器的IP/x.dtd">%b;%c;%xxe;]> 在自己服务器构造x.dtd,开启access.log日志 "> CSRF与逻辑漏洞的组合拳 登录上后修改密(忘记密码时通过回答问题来修改密码)进行抓包 尝试用...进而在用户登录后造成攻击 现在的问题是,如何修改IP,也就是探究网站识别用户IP的方式是什么 简单试了一下添加XFF请求头,X-Forwarded-For: alert(1); 先故意输入错误的密码

    33521

    ThinkPHP5框架:Layui 下 image、video、excel 文件的上传实现

    背景 前段时间因为业务需求,涉及到了多种文件的上传操作; 其中,包含 图片、Excel文件、视频文件 比如:我需要进行 excel 表格文件的上传,然后读取其中的数据写入数据库 那么,至少要限制一下上传文件的类型...res.data.url); } } , error: function () { //演示失败状态,实现重传...$file->getError(); } } else { $message = "参数错误"; } return...处理代码为例 /** * 进行excel文件的上传读取操作 * @param Request $request */ public function file_excel...如果操作,上传的文件会默认保存到了 /public/upload 目录下 一般而言,后期会考虑将各种文件统一使用 FTP 上传到资源服务器; 届时可以对鄙人所提供的上传接口进行优化升级即可 …

    1.5K10

    【云+社区年度征文】微信小程序 Notes | 云平台导出 Excel

    基于以上两点,明确以下开发流程: 第一步,获取用户之前填报数据; 第二步,基于 node-xlsx 将获取到的填报数据进行 Excel 填充; 第三步,将生成的 Excel 文件同步上传云平台,获取到当前...记得测试没问题之后选择「上传部署:云端安装依赖,不上传 node_modules」 每个云函数都需要上传哦~ 3.1 添加获取填报信息云函数/接口 根据上面分析,我们第一步需要去云平台拉取之前用户填报的数据...并上传云平台 同样需要创建一个将获取到的填报数据组装成 Excel 的函数,这个函数主要功能为: 处理数据:包含数据的组装,每个不同的 sheet 对应的数据内容格式处理; 生成 Excel上传云平台...allData.push(arr); } // 将数据保存到 Excel 中 var buffer = await xlsx.build([{ name: "总数据"..., data: allData }]); // 把 Excel 文件保存到云存储中 return await cloud.uploadFile({ cloudPath

    1.3K60

    如何使用Java语言实现文件分片上传和断点续传功能?

    保存已上传的数据块的状态,以便下次上传时可以跳过已上传的数据块。在上传过程中,发生网络中断等错误时,可以恢复上传继续从上次中断的地方继续上传。...错误处理:在上传过程中,捕获各种异常,根据错误类型进行相应的处理,例如网络中断时,可以重新连接服务器恢复上传。 3....= 0) { blockSize++;}// 切割文件存到磁盘for (int i = 0; i < numThreads; i++) { long start = i * blockSize...3.4 错误处理在上传过程中,捕获各种异常,根据错误类型进行相应的处理,例如网络中断时,可以重新连接服务器恢复上传。...例如,在网络中断时,我们会重新连接服务器恢复上传。另外,我们使用一个retry变量来记录重试次数,并在连续失败多次后,抛出异常。4.

    98450

    SpringBoot整合EasyExcel实现复杂Excel表格的导入&导出功能

    学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 文章作者技术和水平有限,如果文中出现错误,希望大家能指正 欢迎大家关注!...file.getInputStream(), User.class, new UserDataListener()).sheet().doReadSync(); // 处理导入的数据,可以保存到数据库或进行其他操作...编写前端页面 在前端页面中,我们需要一个文件上传的表单,例如使用HTML的标签和标签: <!...启动SpringBoot应用 通过以上步骤,我们已经完成了Excel导入功能的开发。启动SpringBoot应用,访问前端页面,选择要导入的Excel文件,点击导入按钮即可完成数据导入。...启动SpringBoot应用 通过以上步骤,我们已经完成了Excel导出功能的开发。启动SpringBoot应用,访问前端页面,点击导出按钮即可下载导出的Excel文件。

    1.3K10
    领券