PHP中codeigniter文件上传类代码实例

  次阅读 来源:互联网(转载协议) 2016-03-01 13:19 我要评论(0)

codeigniter文件上传类代码实例

文件上传类

CodeIgniter 的文件上传类允许文件被上传。您可以设置指定上传某类型的文件及指定大小的文件。

处理过程

上传文件普遍的过程:

一个上传文件用的表单,允许用户选择一个文件并上传它。

当这个表单被提交,该文件被上传到指定的目录。

同时,该文件将被验证是否符合您设定的要求。

一旦文件上传成功,还要返回一个上传成功的确认窗口。

这里有一个简短的教程来显示这个过程。此后你将会找到相关的参考信息。

创建上传表单

运用文本编辑器创建一个名为upload_form.php的文件,复制以下代码并保存在applications/views/目录里:

你会看到这里运用到了一个表单辅助函数来创建表单的开始标签,文件上传需要一个 multipartform,因为这个表单辅助函数为你创建了一个合适的语句。你还会看到我们运用了一个$error变量,当用户提交该表单出现错误时会显示相关的出错信息。

上传成功的页面

运用文本编辑器创建一个名为upload_success.php的文件。复制以下代码保存到applications/views/目录里:

Your file was successfully uploaded!

$value):?>

:

控制器

运用文本编辑器,创建一个名为upload.php的控制器.复制以下代码并保存到applications/controllers/目录里:

load->helper(array('form', 'url')); } function index() {$this->load->view('upload_form', array('error' => ' ' )); } functiondo_upload() { $config['upload_path'] = './uploads/'; $config['allowed_types'] ='gif|jpg|png'; $config['max_size'] = '100'; $config['max_width'] = '1024';$config['max_height'] = '768'; $this->load->library('upload', $config); if( ! $this->upload->do_upload()) { $error = array('error' =>$this->upload->display_errors()); $this->load->view('upload_form',$error); } else { $data = array('upload_data' =>$this->upload->data()); $this->load->view('upload_success', $data);} } } ?>

上传文件目录

你还需要一个目标文件夹来存储上传的图片。在根目录上创建一个名为uploads的文件并设置该文件的属性为 777。(即可读写)

提交表单

要提交你的表单,输入类似如下的URL:

example.com/index.php/upload/

你将看到一个上传表单,任选一张(jpg, gif,或者png)图片进行提交. 如果你在控制器里设置的路径是正确的,它将开始工作。

初始化文件上传类

与CodeIgniter的其它一些类相似,文件上传类用$this->load->library函数在控制器里进行初始化:

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

一旦文件上传类被加载,对象将通过如下方法来引用:$this->upload

偏好设置

与其它库类似,你将根据你的偏好设置来控制要被上传的文件,在控制器里,你建立了如下的偏好设置:

$config['upload_path'] = './uploads/';

$config['allowed_types'] = 'gif|jpg|png';

$config['max_size'] = '100';

$config['max_width'] = '1024';

$config['max_height'] = '768';

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

// Alternately you can set preferences by calling the initialize function.Useful if you auto-load the class:

//【如果你在 config文件夹内的 autoload.php 文件中自动加载了 upload 类,或者在构造函数内加载了的话,可以调用初始化函数initialize 来加载设置。————本括号内由IT不倒翁翻译,加入了自己的理解】

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 长虹新款智能语音空调,告诉你空调也能玩Siri

    长虹新款智能语音空调,告诉你空调也能玩Siri

  • 第一批国家重点研发计划公布,旷视科技开启“五年行动”

    第一批国家重点研发计划公布,旷视科技开启“五年行动”

  • 让AI触手可及  Qualcomm携手创通联达推出全新终端侧AI开发套件

    让AI触手可及 Qualcomm携手创通联达推出全新终端侧AI开发套件

  • 品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

    品友互动为Digital Travel APAC2018 唯一受邀中国AI企业

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...