Home >Backend Development >PHP Tutorial >2 Codeigniter files batch upload controller writing example, codeigniter writing method_PHP tutorial
Example 1:
/** * 多文件上传 * * @author Dream <dream@shanjing-inc.com> */ public function multiple_uploads() { //载入所需类库 $this->load->library('upload'); //配置上传参数 $upload_config = array( 'upload_path' => '', 'allowed_types' => 'jpg|png|gif', 'max_size' => '500', 'max_width' => '1024', 'max_height' => '768', ); $this->upload->initialize($upload_config); //循环处理上传文件 foreach ($_FILES as $key => $value) { if (!empty($key['name'])) { if ($this->upload->do_upload($key)) { //上传成功 print_r($this->upload->data()); } else { //上传失败 echo $this->upload->display_errors(); } } } }
Example 2:
function upload() { $config['upload_path'] = './uploads/'; /*这里的uploads是相对于index.php的,也就是入口文件,这个千万不要弄错哦! 否则就会报错"The upload path does not appear to be valid."; */ $config['allowed_types'] = 'gif|jpg|png'; /*我试着去上传其它类型的文件,这里一定要注意顺序! A problem was encountered while attempting to move the uploaded file to the final destination. 这个错误一般是上传文件的文件名不能是中文名,这个很郁闷!还未解决,大家可以用其它方法,重新改一下文件名就可以解决了! $config['allowed_types'] = 'zip|gz|png|gif|jpg';(正确) $config['allowed_types'] = 'png|gif|jpg|zip|gz';(错误) */ $config['max_size'] = '1024'; $config['max_width'] = '1024'; $config['max_height'] = '768'; $config['file_name'] = time(); //文件名不使用原始名 $this->load->library('upload', $config); if(!$this->upload->do_upload()) { echo $this->upload->display_errors(); }else{ $data['upload_data']=$this->upload->data(); //文件的一些信息 $img=$data['upload_data']['file_name']; //取得文件名 echo $img."<br>"; foreach($data['upload_data'] as $item => $value){ echo $item.":".$value."<br>"; } } }
local address/CodeIgniter/index.php?/
local address/CodeIgniter/index.php?/welcome
local address/CodeIgniter/index.php?/welcome/
local address/CodeIgniter/ index.php?/welcome/index
Local address/CodeIgniter/index.php?/welcome/index/
Try adding?
Because you can set the upload directory using the upload class
So at this time you actually know the direct directory, and then you only need to store the file name when storing it in the database
If the directory changes (For example, it changes by year, month and day), because you know it in advance, you can also organize the corresponding relative path and store it in the database
If written in the corresponding configuration file, it can be used as a variable