在PHP的開發項目中,我們需要經常使用到文件上傳功能,而CodeIgniter框架提供了方便快捷的文件上傳操作方式。今天,我們就來說一說在CodeIgniter中如何實現文件上傳操作。
首先,我們需要在視圖中添加文件上傳表單,代碼如下:
<form method="post" action="<?php echo site_url('upload/do_upload');?>" enctype="multipart/form-data"> <input type="file" name="userfile" size="20" /><br /> <input type="submit" value="upload" /> </form>其中,form的action指向的是上傳文件執行的控制器和方法,這個可以根據需要進行更改。 接下來,在控制器中添加文件上傳的方法,代碼如下:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Upload extends CI_Controller { function __construct() { parent::__construct(); $this->load->helper(array('form', 'url')); } 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('upload_form', $error); } else { $data = array('upload_data' => $this->upload->data()); $this->load->view('upload_success', $data); } } }在這個控制器中,我們先加載了兩個helper:form和url。接著定義了一個名為do_upload的方法,該方法將會被上傳表單action指向運行。 在do_upload方法中,我們需要定義上傳文件的配置項,這里我定義的上傳路徑是./uploads,允許文件類型是gif、jpg、png,最大大小為100KB,最大寬度為1024px,最大高度為768px。然后通過library方法加載上傳類,配置項作為參數傳入。接著,我們判斷上傳是否成功,如果失敗,則返回錯誤信息;如果成功,則返回上傳的文件信息。 最后,我們需要在上傳成功的頁面中進行文件信息展示。代碼如下:
<?php echo $upload_data['file_name']; ?>這個頁面很簡單,只展示了上傳文件的名字。 當然,這只是個簡單的例子,你可以根據需求來更改配置項,設計上傳成功后的展示頁面。但是需要注意的是,如果你是在本地進行開發測試,可能需要將上傳目錄的權限設置成777或755。 這就是關于PHP CodeIgniter框架中如何使用文件上傳功能的介紹。希望這篇文章能夠幫助到正在尋找解決方案的開發者們。
上一篇php cipher
下一篇php cil