toxic

备忘录

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

 

//单图片上传
/**
 * @author buhuan
 * @param string $file_form_name form表单的上传文件字段的名称 name属性
 * @param string $upload_path    上传的文件夹绝对路径
 * @param string $web_path       上传后文件相对于网站根目录的相对路径
 * @param bool $debug            是否显示上传失败的错误信息
 * @param array  $file_type       上传的文件类型
 * @param int $file_size_limit   上传的文件大小限制 默认512KB
 * @return  失败返回FLASE 或者 上传成功返回图片地址的URL
 */
function uploadImage($file_form_name='',$upload_path='',$web_path='',$debug=FALSE,$file_size_limit=524288,$file_type){

    if(empty($file_form_name) OR empty($upload_path) OR empty($web_path))
    {
            if($debug){
                echo '错误:form表单的上传字段的名称 或 上传的文件夹绝对路径 或 上传后文件相对于网站根目录的相对路径 为空';
                exit;
            }
            return FALSE;
    }

    //检查后缀,如果不存在就取默认允许的后缀
    $file_type = is_array($file_type) && count($file_type) > 0 ? $file_type : array('image/jpg','image/jpeg','image/gif');

    //判断目录是否存在,不存在就创建
    if(!is_dir($upload_path)) mkdir($upload_path,0777,TRUE);

    $file = $_FILES[$file_form_name];

    //检查文件大小
    $file_size = $file['size'];
    if($file_size > $file_size_limit){
        if($debug){
            echo '错误:上传的文件大小不能超过'.$file_size_limit;
            exit;
        }
        return FALSE;
    }

    //检查文件类型
    $type = $file['type'];
    if(!in_array($type,$file_type)){
        if($debug){
            echo '错误:上传的文件类型应该是'.implode(',',$file_type).'中的一种';
            exit;
        }
        return FAlSE;
    }

    //获得后缀
    $ext = explode('/',$type);

    //上传后的文件名
    $newfile = time().'.'.$ext[1];

    if(move_uploaded_file($file['tmp_name'], $upload_path . $newfile)){
        $filename = $web_path.$newfile;
        return $filename;
    }

    if($debug){
        echo '错误:上传文件失败:未知错误';
        exit;
    }

}

 

 使用

 

html:

<input type="file" name="image" value="" class="txt">


code:
//定义上传图片的路径
$upload_path = DISCUZ_ROOT.'data/attachment/plugin/vote/';
$web_path =  'data/attachment/plugin/vote/';


uploadImage('image',$upload_path,$web_path);

 

 

 

 

posted on 2013-01-01 18:51  toxic  阅读(199)  评论(0编辑  收藏  举报