好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

实例讲解ThinkPHP的UploadFile文件上传类的详细用法

ThinkPHP文件上传自带了上传类,使用起来非常方便,我们将以一个文件上传实例来讲解ThinkPHP上传类的实际用法,上传类使用时有详细的中文注释,可以非常方便的告诉你类的一些方法或变量的使用方法。

 

FileAction.class.php

PHP Code复制内容到剪贴板

<?php  

class FileAction extends Action{  

    function index(){  

        $file=M('file');  

        $list=$file->select();  

        $this->assign('filelist',$list);  

        $this->display();     

    }      

     

    function upload(){  

        //文件上传地址提交给他,并且上传完成之后返回一个信息,让其写入数据库     

        if(emptyempty($_FILES)){  

            $this->error('必须选择上传文件');     

        }else{  

            $a=$this->up();  

            if(isset($a)){  

                //写入数据库的自定义c方法  

                if($this->c($a)){  

                    $this->success('上传成功');     

                }  

                else{  

                    $this->error('写入数据库失败');     

                }  

            }else{  

                $this-error('上传文件异常,请与系统管理员联系');     

            }  

        }  

    }  

     

    private function c($data){  

        $file=M('file');  

        $num    =    '0';  

        for($i = 0; $i < count($data)-1; $i++) {  

            $data['filename']=$data[$i]['savename'];             

           if( $file->data($data)->add())  

           {  

               $num++;  

           }  

        }  

        if($num==count($data)-1)  

        {  

            return true;     

        }else  

        {  

            return false;  

        }  

         

    }  

     

    private function up(){  

        //完成与thinkphp相关的,文件上传类的调用     

        import('@.Org.UploadFile');//将上传类UploadFile.class.php拷到Lib/Org文件夹下  

        $upload=new UploadFile();  

        $upload->maxSize='1000000';//默认为-1,不限制上传大小  

        $upload->savePath='./Public/Upload/';//保存路径建议与主文件平级目录或者平级目录的子目录来保存     

        $upload->saveRule=uniqid;//上传文件的文件名保存规则  

        $upload->uploadReplace=true;//如果存在同名文件是否进行覆盖  

        $upload->allowExts=array('jpg','jpeg','png','gif');//准许上传的文件类型  

        $upload->allowTypes=array('image/png','image/jpg','image/jpeg','image/gif');//检测mime类型  

        $upload->thumb=true;//是否开启图片文件缩略图  

        $upload->thumbMaxWidth='300,500';  

        $upload->thumbMaxHeight='200,400';  

        $upload->thumbPrefix='s_,m_';//缩略图文件前缀  

        $upload->thumbRemoveOrigin=1;//如果生成缩略图,是否删除原图  

         

        if($upload->upload()){  

            $info=$upload->getUploadFileInfo();  

            return $info;  

        }else{  

            $this->error($upload->getErrorMsg());//专门用来获取上传的错误信息的     

        }     

    }  

     

}  

?>  

模板文件index.html

 

XML/HTML Code复制内容到剪贴板

<html>  

  

<body>  

  

<volist name="filelist" id="vo">  

  小图:<img src="__PUBLIC__/upload/s_{$vo['filename']}" /><br />  

  大图:<img src="__PUBLIC__/upload/m_{$vo['filename']}" /><br />  

</volist>  

  

<form action="__URL__/upload" method="post" enctype="multipart/form-data">  

    <input type="file" name="file[]" /><br />  

    <input type="file" name="file[]" /><br />  

    <input type="file" name="file[]" /><br />  

    <input type="submit" value="上传" />  

</form>  

  

</body>  

</html>  

 

ThinkPHP的相关推荐文章:

1、ThinkPHP U函数生成URL伪静态(自动生成相应的URL地址)

2、使用PHP的框架ThinkPHP必须要掌握的程序开发调试手段

3、thinkphp学习笔记入门小知识点分享

查看更多关于实例讲解ThinkPHP的UploadFile文件上传类的详细用法的详细内容...

  阅读:74次