为了账号安全,请及时绑定邮箱和手机立即绑定

shopImooc 这个工程我在公司电脑做好了添加商品那部分 在公司运行也是没问题的 我把整个工程文件夹复制到我家里的电脑里面 上传就报错

shopImooc 这个工程我在公司电脑做好了添加商品那部分 在公司运行也是没问题的 我把整个工程文件夹复制到我家里的电脑里面 上传就报错

PHP
qq_D调_1 2015-10-24 10:05:38
upload.func.php的代码<?php /***         构建上传文件信息函数    */function buildInfo(){    if(!$_FILES){        return ;    }    $i=0;    foreach($_FILES as $v){        //如果是单文件        if(is_string($v['name'])){ //判断$v是一个数字还是字符串 如果是字符串就是 单文件上传 如果是数组就是多文件上传            $files[$i]=$v;            $i++;        }else{            //多文件            foreach($v['name'] as $key=>$val){                $files[$i]['name']=$val;                $files[$i]['size']=$v['size'][$key];                $files[$i]['tmp_name']=$v['tmp_name'][$key];                $files[$i]['error']=$v['error'][$key];                $files[$i]['type']=$v['type'][$key];                $i++;            }        }    }    return $files;}/***     uploadFile()文件上传函数    @param  string  $path 上传图片到这个文件夹下    @param  array   $allowExt  文件类型数组    @param  string  $maxSize   文件大小    @param  boolean $imgFlag   判断是否是真实的图片文件(没有改过的文件名后缀)*/function uploadFile($path="uploads",$allowExt=array("gif","jpeg","png","jpg","wbmp"),$maxSize=51200,$imgFlag=true){    if(!file_exists($path)){   //如果uploads文件夹不存在        mkdir($path,755,true);   //mkdir() 函数创建目录。 将默认的访问权限0777 改为写入权限755    }    $i=0;    $files=buildInfo();   //调用文件信息函数 实现单文件和多文件混传 或者单文件上传 或者多文件上传    if(!($files&&is_array($files))){        return ;    }    //判断错误信息    foreach($files as $file){        if($file['error']===UPLOAD_ERR_OK){  //没有错误            $ext=getExt($file['name']);  //得到文件扩展名            //检测文件的扩展名            if(!in_array($ext,$allowExt)){                  exit("非法文件类型");            }            //校验是否是一个真正的图片类型            if($imgFlag){                //验证图片是否是一个真正的图片类型                //getimagesize()取得 GIF、JPEG 及 PNG 三种 WWW 上图片的高与宽,                if(!getimagesize($file['tmp_name'])){                      exit("不是真正的图片类型");                }            }            //上传文件的大小            if($file['size']>$maxSize){ //不能大于500kb                exit("上传文件过大");            }            if(!is_uploaded_file($file['tmp_name'])){ //如果是post上传                exit("不是通过HTTP POST方式上传上来的");            }            $filename=getUniName().".".$ext;  //得到文件扩展名            $destination=$path."/".$filename;  //文件路径            //move_uploaded_file() 函数将上传的文件移动到新位置。 若成功,则返回 true,否则返回 false。            if(move_uploaded_file($file['tmp_name'], $destination)){                $file['name']=$filename;  //文件名 = 唯一的字符串拼上文件扩展名                unset($file['tmp_name'],$file['size'],$file['type']);  //销毁无用的文件信息                $uploadedFiles[$i]=$file;                $i++;            }        }else{            switch($file['error']){                    case 1:                        $mes="超过了配置文件上传文件的大小";//UPLOAD_ERR_INI_SIZE                        break;                    case 2:                        $mes="超过了表单设置上传文件的大小";            //UPLOAD_ERR_FORM_SIZE                        break;                    case 3:                        $mes="文件部分被上传";//UPLOAD_ERR_PARTIAL                        break;                    case 4:                        $mes="没有文件被上传1111";//UPLOAD_ERR_NO_FILE                        break;                    case 6:                        $mes="没有找到临时目录";//UPLOAD_ERR_NO_TMP_DIR                        break;                    case 7:                        $mes="文件不可写";//UPLOAD_ERR_CANT_WRITE;                        break;                    case 8:                        $mes="由于PHP的扩展程序中断了文件上传";//UPLOAD_ERR_EXTENSION                        break;                }                echo $mes;            }    }    return $uploadedFiles;}    //服务器端PHP配置文件    //file_uploads=On   支持通过HTTP POST方式上传文件    //upload_tmp_dir="E:\xampp\tmp"  临时文件保存的路径    //max_file_uploads=20   表单上传的文件的最大大小默认为2M    //post_max_size=8M      表单已post方式发送数据的最大值默认是8M            //客户端进行配置    //<input type="hidden" name="MAX_FILE_SIZE" value="1024"/>?>/////////////////////////////////////image.func.php文件的代码<?php    require_once '../include.php'; //包含字符串处理文件            /***      @param  $sess_name session中保存验证码的名字      @param  $type  验证码类型      @param  $length  验证码长度      @param  $pixel   默认需不需要干扰元素 true需要 false不需要     */    function verifyImage($type=1,$length=4,$sess_name = 'verify'){        $chars = bulidRandomString(1,4);  //调用随机数函数        $_SESSION[$sess_name] = $chars;        echo $_SESSION[$sess_name];    }        /***     *  生成缩略图函数thumb()        @param  string  $filename 传入的图像        @param  string  $destination 文件夹        @param  int  $dst_w 画布宽        @param  int  $dst_h 画布高        @param  boolean  $isReservedSource 是否删除原文件        @param  number  $scale 缩放比例        return  string $dstFilename   返回文件名    */    function thumb($filename,$destination=null,$dst_w=null,$dst_h=null,$isReservedSource=true,$scale=0.5){        //得到原图像的宽高和类型 赋值给变量$src_w,$src_h,$imagetype        list($src_w,$src_h,$imagetype) = getimagesize($filename);        //如果没有传比例就用默认的缩放比例        //$scale=0.5; //默认的缩放比例        //is_null 检测是否为空        if(is_null($dst_w)||is_null($dst_h)){            $dst_w=ceil($src_w*$scale);  //新图像宽=原图像宽乘以缩放比例            $dst_h=ceil($src_h*$scale);  //新图像高=原图像高乘以缩放比例        }        //image_type_to_mime_type — 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型 返回文件类型        $mime = image_type_to_mime_type($imagetype);        $createFun = str_replace("/", "createfrom", $mime);  //$createFun = imagecreatefromjpeg        $outFun = str_replace("/",null,$mime);                 //$outFun = imagejpeg        //imagecreatetruecolor 新建一个画布资源        $src_image = $createFun($filename);  //创建原图像资源        //imagecreatetruecolor 新建一个画布资源        $dst_image = imagecreatetruecolor($dst_w, $dst_h);        /***         *  重采样图片并拷贝            bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )            $dst_image:新建的图片            $src_image:需要载入的图片            $dst_x:设定需要载入的图片在新图中的x坐标            $dst_y:设定需要载入的图片在新图中的y坐标            $src_x:设定载入图片要载入的区域x坐标            $src_y:设定载入图片要载入的区域y坐标            $dst_w:设定载入的原图的宽度(在此设置缩放)            $dst_h:设定载入的原图的高度(在此设置缩放)            $src_w:原图要载入的宽度            $src_h:原图要载入的高度            imagecopyresampled()用来改变图像大小        */        imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);        //file_exists() 函数检查文件或目录是否存在        //dirname() 函数返回路径中的目录部分。        /***            mkdir() 函数创建目录。            mkdir(path,mode,recursive,context)            path    必需。规定要创建的目录的名称。            mode    必需。规定权限。默认是 0777。 改为755文件可写                    */        if($destination&&!file_exists(dirname($destination))){ //如果文件存在  目录也不存在            mkdir(dirname($destination),755,true); //创建目录        }        //getUniName()生成唯一字符串函数.文件扩展名        $dstFilename = $destination==null?getUniName().".".getExt($filename):$destination;        $outFun($dst_image,$dstFilename);         imagedestroy($src_image); //销毁原图像        imagedestroy($dst_image); //销毁新图像        //$isReservedSource = false; //默认不保留原文件        if(!$isReservedSource){ //如果不需要保留原文件            unlink($filename);  //删除原文件        }        return $dstFilename;  //返回文件名    }?>
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1978 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信