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!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

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

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...