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

yipeiwu_com6年前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>";

            }

       }
}

相关文章

PHP中去除换行解决办法小结(PHP_EOL)

第一种写法: $content=str_replace("\n","",$content); echo $content; 第二种写法: str_replace("\r\n","",$s...

phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法

本文实例讲述了phplist及phpmailer通过gmail发送邮件的配置方法。分享给大家供大家参考,具体如下: 一般来说,只要你使用的不是gmail邮箱,那么利用phplist发送邮...

php函数的常用方法及注意之处小结

复制代码 代码如下: <?php /** * @author Yuans * @copyright php.com * @package 函数的常用使用方法及特性. */ # 基础...

php的ddos攻击解决方法

本文实例讲述了php的ddos攻击解决方法。分享给大家供大家参考。具体分析如下: 今天自己的一台机器突然向外部发送大量数据包,可每秒到1G以上,虽然我用策略把UDP禁止包是发不出去但是很...

PHP抓取远程图片(含不带后缀的)教程详解

PHP抓取远程图片(含不带后缀的)教程详解

一、创建项目 作为演示,我们在www根目录创建项目grabimg,创建一个类GrabImage.php和一个index.php。 二、编写类代码 我们定义一个和文件名相同的类:Gra...