资讯专栏INFORMATION COLUMN

CodeIgniter框架之上传图片功能的实现

glumes / 3114人阅读

摘要:在做一个网站的发布作业模块,想通过上传作业图片实现发布作业功能。

在做一个网站的发布作业模块,想通过上传作业图片实现发布作业功能。现在把实现过程介绍一下,代码部分会有相应的注释以帮助理解,适合新手小白参考,希望大神阅后留下指导,莫笑~


创建上传表单页面

新建一个文件 upload_form.php ,放入如下代码,并保存到 application/views/ 目录下:



    Upload Form


    
    
    
    
    
    
    
    

创建上传成功页面

新建一个文件 upload_success.php ,放入如下代码,并保存到 application/views/ 目录下:



    Upload Form


    
    

Your file was successfully uploaded!

    $value):?>
  • :

编写上传文件控制器

新建一个控制器 Upload.php ,放入如下代码,并保存到 application/controllers/ 目录下:

load->helper(array("form", "url"));//加载辅助函数,帮助生成上传页面的form的起始标签
    }

    public function index()
    {
        $this->load->view("upload_form");//加载文件上传页面
    }

    public function do_upload()//执行上传的关键函数
    {
        $config["upload_path"]      = "./uploads/";//文件即将上传到的目录路径,注意这里经常出错
        $config["allowed_types"]    = "gif|jpg|png";//允许上的文件 MIME 类型
        $config["max_size"]     = 100;//允许上传文件大小的最大值(单位 KB),设置为 0 表示无限制
        $config["max_width"]        = 1024;//图片的最大宽度(单位为像素),设置为 0 表示无限制
        $config["max_height"]       = 768;//图片的最小高度(单位为像素),设置为 0 表示无限制

        $this->load->library("upload", $config);//初始化文件上传类,其中$this->load->library("类名");

        if ( ! $this->upload->do_upload("userfile"))//如果不满足条件
        {
            $error = array("error" => $this->upload->display_errors());//获取错误信息
            print_r($error);//打印错误信息
            //$this->load->view("upload_form", $error);手册中给出的,未使用
        }
        else
        {
            $data = array("upload_data" => $this->upload->data());//把上传文件的相关数据赋给$data变量 
            
            $this->load->view("upload_success", $data);//加载上传成功页面,将上传文件的相关数据一并加载
        }
    }
}
?>
创建上传文件的目录

在 CodeIgniter 的安装根目录下创建一个 uploads 目录,用来保存上传的图片。

运行

使用类似于下面的 URL 来方法你的站点:

example.com/index.php/upload/

或者

http://localhost/index.php/项目名/控制器名

通过以上操作,你将看到一个上传文件的表单,尝试着上传一个图片文件(jpg、gif 或 png 都可以), 如果你的控制器中路径设置正确,你就可以成功上传文件了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21515.html

相关文章

  • Codeigniter 4.0-dev 版源码学习笔记一——前言以及 CI 4 预览

    摘要:版权声明可转载,但不论任何媒体都需要在转载前与本人沟通,并在转载时注明出处。的各个核心模块以模块名为目录名分别存储在这个目录下。下一篇文章会涉及到和。此文可以转载,但转载前需要发邮件到进行沟通,未沟通的均视作侵权。 写在前面: 为什么选择开发过程中的 CI 4 作为源码解读版本:(1)首先我选 CI 是因为它之前的稳定版都是相对比较轻量小巧的,而且可以认为是简单的。(2)为什么没有选...

    MSchumi 评论0 收藏0
  • 跟着阿大学CodeIgniter (一)——了解MVC

    摘要:它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。文件放在里类名首字母必须大写,并继承的类访问的路径为项目名入口控制器名控制器的方法参数。 有的没的 showImg(http://segmentfault.com/img/bVbOml);阿大镇文(-_-メ)~ 阿大你太黑了,回去洗把脸看看有没有救~ 学习背景 CI是一个比较流行的PHP MV...

    wenzi 评论0 收藏0
  • CodeIgniter 4 建议路线图

    摘要:核心变化从第一版发布以来,社区发生了巨大变化。这意味着系统必须全部重写。暂时不会为一个即将停止支持的版本发布新版本。路由路由功能将被更新。改进的日志系统日志系统将被改进,但具体细节尚未确定。第一阶段第一阶段将侧重于抓住框架最重要的部分。 我们综合考虑了社区的愿望和意见后,也对什么样的未来对 CI 是最合适的做了一些思考,然后,CI 理事会对框架的未来做出了一些决策。预告一下,未来将会有...

    sean 评论0 收藏0
  • 关于Codeigniter上传文件类型问题

    摘要:在我上传一个已后缀的时一直提示文件类型不正确,可是明明在里面在上传时我首先结果如下可以看到这个文件是这种类型的之所以报错就是因为这种类型的不在一个文件内找到文件类型的数组于是修改成如下有时候上传图片失败,发现图片类型是于是修改 $config [allowed_types] = xls|xlsx|xl;在我上传一个已.xls后缀的Excel时一直提示文件类型不正确,可是xls明明在al...

    anonymoussf 评论0 收藏0
  • CodeIgniter 4 请求和响应

    摘要:在版中,我们将更加模块化层,并构建全新的类结构来同时处理的请求和响应。类类用于把程序的执行结果返回给客户端。类会捕获控制器的输出,并自动设置为响应的主体。在需要的时候,框架为你提供了精确控制响应的能力。 CodeIgniter 4 对输入和输出的处理方式做了一个较大的改变。在上一个版本中,包括最新的 V3 版,输入和输出分别是用两个包含相关函数的类来处理的。这样的处理方式背后虽然没有什...

    zzzmh 评论0 收藏0

发表评论

0条评论

glumes

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<