PHP上传生成缩略图保留原图|大家么笑呀!!!!

上一篇 / 下一篇  2007-07-12 16:43:35 / 个人分类:PHP资料

<?
session_start();
require_once("Is_master.php");

//以下实现图片的上传,即原图片-------------------------
if (isset($_POST['Submit'])){

//实际图片存放地址
$upload_dir="../Pro_image/";

//新建文件夹
$xiaoimage="../X_Pro_image/";
$nndate=date("m-d");
if (!file_exists($xiaoimage.$nndate))
mkdir($xiaoimage.$nndate,0777);
//----------------------


//实际图片的名称
$upnewfile="D_".date("YmdHis");

//缩略图片名称
$FILENAME=$xiaoimage.$nndate."/"."S_".date("YmdHis");

//缩略图片宽度
$RESIZEWIDTH=180;

//缩略图片高度
$RESIZEHEIGHT=150;


$upfilename=$_FILES['image']['name'];
$uperror=$_FILES['image']['error'];
switch($uperror){
case 1:
die("<div align='center'><a href='javascript.:window.history.back()'>上传文件过大SYS</a></div>");
break;
case 2:
die("<div align='center'><a href='javascript.:window.history.back()'>上传文件过大FORM</a></div>");
break;
case 4:
die("<div align='center'><a href='javascript.:window.history.back()'>文件没有被上传</a></div>");
break;
}


//检察文件的扩展名
$kzname=strrchr($upfilename,".");
$exit_name=array('.jpg','.gif','.png');
if (!in_array($kzname,$exit_name))
die("<a href=\"javascript.:history.back();\">文件的扩展名不对</a>");

//缩略图部分不要动------------------------------------------------------------
function ResizeImage($im,$maxwidth,$maxheight,$name){
    $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;
            }
        }elseif($RESIZEWIDTH){
            $ratio = $widthratio;
        }elseif($RESIZEHEIGHT){
            $ratio = $heightratio;
        }
        $newwidth = $width * $ratio;
        $newheight = $height * $ratio;
        if(function_exists("imagecopyresampled")){
              $newim = imagecreatetruecolor($newwidth, $newheight);
              imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        }else{
            $newim = imagecreate($newwidth, $newheight);
              imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
        }
        ImageJpeg ($newim,$xiaoimage.$nndate.$name . ".jpg");
  echo ImageJpeg;
        ImageDestroy ($newim);
    }else{
        ImageJpeg ($im,$xiaoimage.$nndate.$name . ".jpg");
    }
}


if($_FILES['image']['size']){
    if($_FILES['image']['type'] == "image/pjpeg"){
        $im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
    }elseif($_FILES['image']['type'] == "image/x-png"){
        $im = imagecreatefrompng($_FILES['image']['tmp_name']);
    }elseif($_FILES['image']['type'] == "image/gif"){
        $im = imagecreatefromgif($_FILES['image']['tmp_name']);
    }
    if($im){
        if(file_exists("$FILENAME.jpg")){
            unlink("$FILENAME.jpg");
        }
        ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
        ImageDestroy ($im);
    }
}
//缩略图结束-----------------------------------------------------


$ext_file_name=$_FILES['image']['tmp_name'];
//新文件名称
$newsj=date("m-d");
if (!file_exists($upload_dir.$newsj)){
mkdir($upload_dir.$newsj,0777);
}
$upnewname_addr=$upload_dir.$newsj."/".$upnewfile.$kzname;
//echo $upnewname_addr
$goodup=move_uploaded_file($ext_file_name,$upnewname_addr);
if ($goodup==true){
echo "<div align='center'><a href='javascript.:window.history.back()'>上传成功</a></div>";
echo "<a href=\"".$upnewname_addr."\">查看</a>";
echo "<script. language=\"javascript\">window.opener.document.form1.p_image.value=\"".$upnewname_addr."|".$FILENAME.".jpg\";</script>";
echo "<script. language=\"javascript\">window.close();</script>";
}else{
die("上传失败".mysql_error());
}
}
//echo "<img src=\"".$FILENAME.".jpg\">";
?><title>上传图片-www.renp.cn</title>
<form. enctype="multipart/form-data" method="post"><input type="file" name="image" size="50" value="浏览">
<input name="max_file_size" type="hidden" id="max_file_size" value="<?=1024*1024*0.001?>">
<p>
<input type="submit" value="上传图片" name="Submit">
</form>


TAG:

引用 删除 一朵云   /   2007-12-17 13:52:44
偶正在找这个东东,学习!
十一文的个人空间 引用 删除 十一文   /   2007-07-16 20:44:14
特蓝克斯 -- Amanda 的生活 引用 删除 特蓝克斯   /   2007-07-13 09:19:19
  支持一下!
特蓝克斯 -- Amanda 的生活 引用 删除 特蓝克斯   /   2007-07-13 09:13:20
西山一片云,一片抵过去五片 引用 删除 西山一片云   /   2007-07-12 17:22:47
很不错!!!
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者