CodeIgniter上传图片成功的全部过程分享

前端技术 2023/09/04 PHP

最近几天正在做一个小型CMS,用到图片上传了,想利于CodeIgniter的上传类去实现,但测试中有好多问题,我把经过和要注意的地方分享一下!

复制代码 代码如下:

<?php echo form_open_multipart(\'picture/upload\');?>
<?php echo form_upload(\'userfile\');?>
/*注意,这里是userfile,$this->upload->do_upload(),这里do_upload默认上传文件的表单名为userfile;
当然也可以使用do_upload($filename),这里的$filename一定要和form_upload()里面的字符串一致.
我在这里范了糊涂,最后看了手册才明白,希望大家注意哦!
*/

<?php echo form_close();?>

controller代码:
 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>\";

            }

       }
}

本文地址:https://www.stayed.cn/item/11600

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。