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:
偶正在找这个东东,学习!


支持一下!
