📅  最后修改于: 2023-12-03 14:49:38.060000             🧑  作者: Mango
在网站开发中,经常需要允许用户上传多张图片。CodeIgniter 是一个流行的 PHP 框架,提供了一种简单的方式来处理上传文件的操作。以下是使用 CodeIgniter 实现多张图片上传的示例代码。
首先,你需要安装 CodeIgniter 框架并设置好项目。你可以从 CodeIgniter 的官方网站(https://codeigniter.com/)下载最新版本的框架。
创建一个包含多个文件上传表单的视图文件。你可以使用 HTML 和 CodeIgniter 的辅助函数来实现这一点。下面是一个示例的视图文件:
<form method="post" enctype="multipart/form-data" action="upload">
<input type="file" name="userfile[]" multiple>
<input type="submit" value="上传">
</form>
在上述示例中,name
属性设置为 userfile[]
,以便可以上传多个文件。
创建一个控制器来处理文件上传的逻辑。在控制器中,你需要使用 CodeIgniter 的文件上传类来完成这个任务。以下是一个示例的控制器代码:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Upload extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper(array('form', 'url'));
}
public function index() {
$this->load->view('upload_form');
}
public function upload_files() {
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 1024; // 1MB
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
if (!$this->upload->do_upload('userfile[]')) {
echo $this->upload->display_errors();
} else {
$data = $this->upload->data();
// 这里可以进行处理上传成功后的操作,比如保存文件路径到数据库等
echo "文件上传成功:" . $data['file_name'];
}
}
}
在上述示例中,我们加载了 CodeIgniter 的文件上传和辅助函数,然后定义了上传文件的目标路径、允许的文件类型、最大文件大小和尺寸限制。
upload_files
方法处理上传文件的逻辑。如果上传不成功,将打印出错误信息;如果上传成功,可以在这里进行进一步的操作,如保存文件路径到数据库中。
在 CodeIgniter 中,你需要设置路由来将请求路由到正确的控制器和方法。打开 config/routes.php
文件,添加以下配置:
$route['upload'] = 'upload/upload_files';
现在你可以通过访问 http://yourdomain.com/upload
来访问上传页面,并上传多个图片。
希望这个示例能帮助你理解如何在 CodeIgniter 中上传多张图片!