PHP上传图片同时生成缩略图和插入数据库
时间:2010-07-06 来源:xuequansongmo
<?php
$title = $_POST['title'];
$descrīption = $_POST['descrīption'];
$albumID = $_POST['albumID'];
$iscommend = $_POST['iscommend'];
$isvisible = $_POST['isvisible'];
$uploadtime = date("Y-m-d H:i:s");
$MAX_FILE_SIZE = floor($_POST['MAX_FILE_SIZE'] / 1024);
$FileExtName = strtolower(pathinfo($_FILES['url']['name'],PATHINFO_EXTENSION));
if(!(($FileExtName == 'gif') or ($FileExtName == 'jpg') or ($FileExtName == 'jpeg') or ($FileExtName == 'png'))){
echo "<scrīpt language='javascrīpt'>";
echo " alert('您上传的文件类型不对,本系统仅支持PNG,JPG,GIF三种格式。');";
echo " location='../uploadpicture.php?albumID=$albumID';";
echo "</scrīpt>";
exit;
}
$Filename = date("YmdHis").substr(microtime(),2,5).'.'.$FileExtName;
$PictureDir = substr(pathinfo($_SERVER['scrīpt_FILENAME'],PATHINFO_DIRNAME),0,strlen(pathinfo($_SERVER['scrīpt_FILENAME'],PATHINFO_DIRNAME))-8);
$UploadURL = $PictureDir.'/'.$PictureFolder.$Filename;
$ThumbsURL = $PictureDir.'/'.$ThumbsFolder.$Filename;
if (!move_uploaded_file($_FILES['url']['tmp_name'], $UploadURL)){
echo "<scrīpt language='javascrīpt'>";
echo " alert('上传失败,图片大小不能超过 $MAX_FILE_SIZE KB。');";
echo " location='../uploadpicture.php?albumID=$albumID';";
echo "</scrīpt>";
exit;
}
list($RealWidth, $RealHeight) = getimagesize($UploadURL);
if($RealWidth < $MaxThumbWidth){
$percent = 1;
} else {
$percent = $MaxThumbWidth / $RealWidth;
}
$NewWidth = $RealWidth * $percent;
$NewHeight = $RealHeight * $percent;
$thumb = imagecreatetruecolor($NewWidth, $NewHeight);
list($width, $height, $PictureType, $attrib) = getimagesize($UploadURL);
switch($PictureType)
{
case "1": $source = imagecreatefromgif($UploadURL); break;
case "2": $source = imagecreatefromjpeg($UploadURL); break;
case "3": $source = imagecreatefrompng($UploadURL); break;
}
imagecopyresized($thumb, $source, 0, 0, 0, 0, $NewWidth, $NewHeight, $RealWidth, $RealHeight);
switch($PictureType)
{
case "1": imagegif($thumb, $ThumbsURL); break;
case "2": imagejpeg($thumb, $ThumbsURL); break;
case "3": imagepng($thumb, $ThumbsURL); break;
}
$newpicture_SQL = "INSERT INTO pictures (flag,title,url,descrīption,uploadtime,updatetime,isvisible,iscommend) VALUES ('$albumID','$title','$Filename','$descrīption','$uploadtime','$uploadtime','$isvisible','$iscommend');";
$setCover = "Update pictures SET url = '$Filename' WHERE id = $albumID;";
$totalPictures_SQL = "SELECT * FROM pictures WHERE flag = $albumID;";
$totalPictures = mysql_query($totalPictures_SQL, $hesweb) or die(mysql_error());
$totalRows_totalPictures = mysql_num_rows($totalPictures);
$newpicture = mysql_query($newpicture_SQL, $hesweb) or die(mysql_error());
$pictureID = mysql_insert_id($hesweb);
$coverFlag = "UPDATE pictures SET iscover = '1' WHERE id = $pictureID;";
if($totalRows_totalPictures < 1){
$cover = mysql_query($setCover, $hesweb) or die(mysql_error());
$flag = mysql_query($coverFlag, $hesweb) or die(mysql_error());
}
if($coverFlag){
echo "<scrīpt language='javascrīpt'>";
echo " alert('上传成功。');";
echo " location='../uploadpicture.php?albumID=$albumID';";
echo "</scrīpt>";
}
?>

<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />
飞行射击 下载
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />
飞行射击 下载
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />
飞行射击 下载- 4 <img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />下载73.78MB · 90℃
1970-01-01
- 5 <img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />下载43.7 MB · 92℃
1970-01-01
- 6 <img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />下载110.69MB · 92℃
1970-01-01