030.CI4框架CodeIgniter, 文件的上传与移动

01.在View中创建一个upfile.php,作为上传文件的前端,代码如下:

<!doctype html>
<html>
<head>
    <title>10年CI一场梦</title>
</head>
<body>

<form action="<?php echo $POST_URL ?>" method="post" enctype="multipart/form-data">
    <td>
        <input name="upfile" id=‘upfile‘ type="file" value="选择文件">
    </td>
    <td style="text-align: center;"><input type="submit" name="submit" value="上传"></td>
</form>

</body>
</html>

02.我们在控制器中,添加文件上传的后端处理Hello.php,代码如下:

<?php namespace App\Controllers;
// http://127.0.0.1/CI4/public/index.php/hello/
class Hello extends BaseController
{
    public function __construct()
    {
    }

    public function index()
    {
    }

    public function show()
    {
        //判断是否点击了上传按钮
        if (!empty($this->request->getPost("submit"))) {
            //读取
            $file = $this->request->getFile(‘upfile‘);
            //查看文件类的各种属性
            ShowMessage($file);
            //如果上传没问题,切没有被移动过
            if ($file->isValid() && !$file->hasMoved()) {
                $file->move(WRITEPATH . ‘myfiles‘);
            }
            //    "path"             => "C:\Users\Super\AppData\Local\Temp\php3568.tmp",
            //    "originalName"     => "Welcome to CodeIgniter.html",
            //    "name"             => "Welcome to CodeIgniter.html",
            //    "originalMimeType" => "text/html",
            //    "error"            => 0,
            //    "hasMoved"         => false,
            //    "size"             => 5593,
            //    "pathName"         => "C:\Users\Super\AppData\Local\Temp\php3568.tmp",
            //    "fileName"         => "php3568.tmp";
        }
        //显示View页面
        $data = array(‘POST_URL‘ => base_url(‘public/index.php/hello/show‘),);
        echo view(‘upfile‘, $data);
    }

}

03.我们打开浏览器,访问一下http://localhost/CI4/public/index.php/hello/show,并上传一个文件,效果如下:

04.我们发现,我们上传的文件,已经被传到了我们定义的myfiles文件夹中了

原创不易,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢。

原文地址:https://www.cnblogs.com/tianpan2019/p/12393102.html

时间: 2024-08-17 15:30:22

030.CI4框架CodeIgniter, 文件的上传与移动的相关文章

SpringMVC实现文件的上传和下载

前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:"用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流".我回复他说:"使用SpringMVC框架可以做到这一点,因为SpringMVC为文件的上传提供了直接的支持,但需要依赖Apache提供Commons FileUpload组件jar包."鉴于这个问题,我上网也百度了一下,网上很多都是介绍的使用IO流来实现文件的上传和下载,也有说到框架的,但介绍的并不是很完整,今天小钱将和大家介绍使用Spr

如何开发一个java开源框架-----Jvn框架之实现文件的上传以及方法封装(第六讲)八哥实力讲解

前言 一 . 博主正在教大家如何开发一个javaEE框架(Jvn框架),博客里有完整的开发视频,每一篇博文都是一个知识点,帮助大家理解框架: 博客首页:http://www.cnblogs.com/everxs/ 本次内容视频以及源码下载地址:http://pan.baidu.com/s/1pJsoGDd 1,为什么要使用java的框架,以及框架能带来什么好处.  2,帮助你们理解框架的原理. 3,框架是如何实现的.                                        

框架优化系列文档:SVN中非版本控制文件忽略上传的设置

对于SVN代码库,只应该上传源代码.资源文件等内容进行版本管理,通常编译后的二进制文件.程序包等生成产物是不应该放到SVN上做版本管理的.因此在svn的客户端工具中设置svn的属性:svn:ignore,使本地工作目录下的哪些目录或文件不用进行版本管理,这样在本地对这些内容进行添加.修改等操作时,SVN都会对其忽略. 优点:     1.减少SVN服务器中无用文件的数量.     2.保证每次下载源代码都可以重新编译,减少因为临时文件造成的编译错误.     3.避免开发人员误将不用版本管理的内

JavaWeb框架_Struts2_(七)-----&gt;文件的上传和下载

这个章节是Struts2框架应用最广泛的三个版块(上传下载.国际化.校验输入)之一,所以这一版块的学习还蛮重要的. 1. 章节目录 Struts2文件上传 单文件上传 拦截器实现文件过滤 文件上传常量配置 Struts2多文件上传 Struts2文件下载 2.  具体内容 2.1Struts2文件上传 2.1.1单文件上传 本小节通过一个示例讲解Struts2如何实现单文件的上传. (1) 先写一个选择上传单文件页面(select.jsp) <%@ taglib prefix="s&quo

使用XWAF框架(2)——上传文件

XWAF提供了上传文件的HttpFileUploader工具类,具备强大的多文件上传.文件类型过滤.文件大小限制.存储目录设置.文件名称更改等功能,简化了Web应用开发的编程工作. 它能同时解析表单参数和文件域,不仅能够将文件保存到服务器上,还能同时提取表单参数的值. 如果要在保存上传文件之前提取参数值,就需要先调用"parseRequest()"方法,并使用该方法返回的对象替换request变量,然后再使用getParameter(name) 方法提取参数值. 参考代码如下: pri

在SpringMVC框架下实现文件的 上传和 下载

在eclipse中的javaEE环境下:导入必要的架包 web.xml的配置文件: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation=&

iOS开发网络篇—文件的上传

iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代码. 主控制器的关键代码: YYViewController.m 1 #import "YYViewController.h" 2 3 #define YYEncode(str) [str dataUsingEncoding:NSUTF8StringEncoding] 4 5 @inter

用struts2实现文件的上传下载

在做B/S系统时经常会有文件上传下载的需求,现就基于struts2框架实现其功能 Struts2框架默认采用Commons-fileupload组件完成文件上传功能.? 使用Struts2框架实现文件上传功能,只需在Action中定义一个java.io.File类型的成员并为之设立setter方法,方法名要和参数名对应.? 客户端上传的文件, Struts2框架会自动将其保存在临时文件中,封装成java.io.File类对象.如果还想得到上传的文件名和文件类型,需按照如下命名规则在Action中

文件的上传(转)

iOS开发网络篇—文件的上传 说明:文件上传使用的时POST请求,通常把要上传的数据保存在请求体中.本文介绍如何不借助第三方框架实现iOS开发中得文件上传. 由于过程较为复杂,因此本文只贴出部分关键代码. 主控制器的关键代码: YYViewController.m 1 #import "YYViewController.h" 2 3 #define YYEncode(str) [str dataUsingEncoding:NSUTF8StringEncoding] 4 5 @inter