📅  最后修改于: 2023-12-03 15:24:27.512000             🧑  作者: Mango
在开发Web应用程序时,上传图片和视频是很常见的需求之一。CodeIgniter框架提供了一些内置功能,使上传文件变得容易和方便。在本文中,我们将介绍如何在CodeIgniter中添加图片和视频上传。
CodeIgniter的上传类需要在config.php
文件中进行配置。打开位于config
文件夹中的config.php
文件,并找到以下配置项:
$config['upload_path'] = '/path/to/upload/folder';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
我们可以通过修改这些配置项来自定义我们的上传设置。例如,如果我们想要允许上传所有类型的文件,我们可以修改allowed_types
为'*'
。
$config['allowed_types'] = '*';
下一步是创建一个控制器来处理上传逻辑。在这个控制器中,我们将使用CodeIgniter的上传类来上传图片和视频。
class Upload extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper(array('form', 'url'));
}
public function index() {
$this->load->view('upload_form', array('error' => ' ' ));
}
public function do_upload() {
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|jpeg|png|mp4|ogg';
$config['max_size'] = 100000000;
$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('upload_form', $error);
} else {
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
}
}
在上面的代码中,我们定义了一个Upload
控制器,其中包含了一个index()
方法和一个do_upload()
方法。
index()
方法将负责显示上传表单,而do_upload()
方法将处理上传表单的数据并完成上传操作。
最后,我们需要创建两个视图文件:一个用于上传表单,另一个用于显示上传成功后的文件(图片或视频)。
首先,我们需要创建upload_form.php
视图文件,该文件将显示上传表单。
<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="上传文件" />
</form>
</body>
</html>
这个视图文件包含了一个上传表单,其中包含了一个<input>
元素,用于选择要上传的文件。
接下来,我们需要创建upload_success.php
视图文件,该文件将显示上传成功后的文件。
<html>
<head>
<title>File Upload Success</title>
</head>
<body>
<h3>上传成功:</h3>
<ul>
<?php foreach ($upload_data as $item => $value):?>
<li><?php echo $item;?>: <?php echo $value;?></li>
<?php endforeach; ?>
</ul>
<p><?php echo anchor('upload', '上传另一个文件'); ?></p>
</body>
</html>
这个视图文件将显示上传文件的详细信息,并提供一个链接,用于上传另一个文件。
如上所述,添加图片和视频上传到CodeIgniter框架中非常容易。在本文中,我们讨论了配置上传设置,创建控制器和视图文件,并最终完成了通过CodeIgniter上传文件的操作。
此外,我们还强调了CodeIgniter上传类的一些方法和属性,例如$this->upload->data()
方法,该方法用于获取上传文件的详细信息。
在CodeIgniter框架中,上传不仅容易,而且非常方便。希望这篇文章能够帮助我们了解在CodeIgniter中添加图片和视频上传的过程。