本文实例讲述了CodeIgniter框架实现图片上传的方法。分享给大家供大家参考,具体如下:
对于图片上传这种老生常谈的问题,在此我不得不再次重复一次,因为对于这框架毕竟有些地方值得自己学习与借鉴,这篇文章我是借助官方文档来写的,但有些地方任然需要标明一下。
下面我们来看看图片上传吧。首先在“./application/views/”文件夹下创一个视图文件:text.php,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<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> |
Codeigniter有自己非常丰富upload类库,下面我们来看看控制器,在Controller中一个Upload.php文件,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
class Upload extends CI_Controller{ public function __construct(){ parent::__construct(); $this ->load->helper( "form" , "url" ); } public function index(){ $this ->load->view( 'test' , array ( "error" => '' )); } public function do_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( 'userfile' )){ $error = array ( 'error' => $this ->upload->display_errors()); $this ->load->view( 'test' , $error ); } else { $data = array ( 'upload_data' => $this ->upload->data()); $this ->load->view( 'upload_success' , $data ); } } } |
下面在视图中创建另外一个文件upload_success.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<html> <head> <title>Upload Form</title> </head> <body> <h3>Your file was successfully uploaded!</h3> <ul> <?php < foreach ( $upload_data as $item => $value ):?> <li> <?php echo $item ;?>:<?php echo $value ;?> </li> <?php?> </ul> </body> </html> |
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。