php 缩略图 不生成文件夹,关于缩略图的一个错误,想了很久,找了很多资料,都不得其解……...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

$Image = $_GET['ImgUrl'];$IType = $_GET['IType'];$smallPath = "../Small/";// 缩略图路径$savePath = "../Uploadfiles/";// 原图路径$curMonth = date('Y-m');// 上传图片子文件夹,使用年月命名,如 2013-05//上传文件类型$uptypes=array('image/jpg', 'image/jpeg','image/png','image/pjpeg','image/gif','image/bmp','application/x-shockwave-flash','image/x-png','application/msword','audio/x-ms-wma','audio/mp3','application/vnd.rn-realmedia','application/x-zip-compressed','application/octet-stream','application/pdf' );$file = $_FILES["file"];// 判断是否存在文件夹if(!is_dir($smallPath)){mkdir($smallPath);chown($smallPath, 0777);}if(!is_dir($savePath)){mkdir($savePath);chown($savePath, 0777);}$max_file_size = 20000000 ;// 上传文件大小限制, 单位BYT$path_parts = pathinfo($_SERVER['PHP_SELF']); // 取得当前路径$destFolder = $savePath.$curMonth."/"; // 上传文件路径,包含子文件夹$smallFolder = $smallPath.$curMonth."/";// 缩略图文件路径,包含子文件夹$imgpreview = 1; // 是否生成预览图(1为生成,其他为不生成);$Imagesthumb = 1; // 生成缩略图 (1生成,0不生成)//是否存在文件if (!is_uploaded_file($file["tmp_name"])){echo "文件不存在 << 返回";exit;}//检查文件大小if($max_file_size < $file["size"]){echo "22文件太大了 << 返回";exit;}

//检查文件类型if(!in_array($file["type"], $uptypes)){echo "33非法文件类型 << 返回";exit;}//检查上传图片的文件夹是否存在,否就建立一个新文件夹,命名为$destFolder变量的字符串,权限为0777if(!is_dir($destFolder)){mkdir($destFolder);chown($destFolder,0777);}//检查上传缩略图图片的文件夹是否存在,否就建立一个新文件夹,命名为$destFolder变量的字符串,权限为0777if(!is_dir($smallFolder)){mkdir($smallFolder);chown($smallFolder,0777);}$RESIZEWIDTH=150; // 生成图片的宽度$RESIZEHEIGHT=150; // 生成图片的高度

$filename=$file["tmp_name"];// 获取上传文件的临时缓存文件$image_size = getimagesize($filename);// 获取上传文件缓存文件的大小$pinfo=pathinfo($file["name"]);// 获取上传文件完整路径$ftype=$pinfo[extension]; // 后缀名,dirname路径,basename文件名,extension文件后缀$imagename = time();// 图片重命名$destination = $destFolder.$imagename.".".$ftype;// 上传图片完整路径$thumb = $smallFolder.$imagename.".".$ftype;// 上传图片缩略图完整路径$destPath=$curMonth."/".$imagename.".".$ftype;// 写入数据库的图片名,保住其上级目录名,如: 2013-05/1368504019.gif// 生成缩略图if($Imagesthumb == 1){$FILENAME=$smallPath.$destPath;//生成缩略图地址function ResizeImage($im, $maxwidth, $maxheight, $name, $ftype){$width = imagesx($im);$height = imagesy($im);if(($maxwidth && $width > $maxwidth) || ($maxheight && $height >$maxheight)){if($maxwidth && $width > $maxwidth){$widthratio = $maxwidth/$width;$RESIZEWIDTH = true;}if($maxheight && $height > $maxheight){$heightratio = $maxheight/$height;$RESIZEHEIGHT = true;}if($RESIZEWIDTH && $RESIZEHEIGHT){if($widthratio < $heightratio){$ratio = $widthratio;}else{$ratio = $heightratio;}}else if($RESIZEWIDTH){$ratio = $widthratio;}else if($RESIZEHEIGHT){$ratio = $heightratio;}$newwidth = $width * $ratio;$newheight = $height * $ratio;if(function_exists("imagecopyresampled")){$newimg = imagecreatetruecolor($newwidth, $newheight);imagecopyresampled($newimg, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);}else{$newimg = imagecreatetruecolor($newwidth, $newheight);imagecopyresampled($newimg, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);}if($ftype == "jpg"){imagejpeg($newimg,$name);}if($ftype == "gif"){imagegif($newimg,$name);}if($ftype == "png"){imagepng($newimg,$name);}}else{if($ftype == "jpg"){ imagejpeg($im, $name); }if($ftype == "png"){imagepng($im, $name);}if($ftype == "gif"){imagegif($im, $name);}}}if($file["size"]){if($file['type'] == "image/pjpeg"){$im = imagecreatefromjpeg($filename);}if($file['type'] == "image/gif"){$im = imagecreatefromgif($filename);}if($file['type'] == "image/x-png"){$im = imagecreatefromgif($filename);}if($im){ResizeImage($im, $RESIZEWIDTH, $RESIZEHEIGHT, $FILENAME, $ftype);/*if(ResizeImage($im, $RESIZEWIDTH, $RESIZEHEIGHT, $FILENAME, $ftype)){echo "OK";}else{echo "Not OK";}*/ImageDestroy($im);}}}if(!move_uploaded_file($filename, $destination)){echo "上传出错 << 返回";exit;}else{echo "
"; echo "

上传图片成功,请点下面按钮提交![重新上传]
"; echo "";}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值