php 上传文件并生成缩略图代码_PHP教程

php 上传文件并生成缩略图代码_PHP教程,第1张

php 上传文件并生成缩略图代码

if( isset($_FILES['upImg']) )
{
if( $userGroup[$loginArr['group']]['upload'] == 0 )
{
echo '{"error":"您所在的用户组无权上传图片!"}';
}
else
{
$savePath = "attachment/img/".date('Y/m/d/H');

mkDirs($savePath);

$fileType = strtolower(strrchr($_FILES['upImg']['name'],"."));

if ( !in_array($fileType, array(".jpg",".jpeg",".gif",".png")) )
{
echo '{"error":"目前仅支持格式为jpg、jpeg、gif、png的图片!"}';
}
elseif( $_FILES['upImg']['size'] > 204800 )
{
echo '{"error":"图片不能超过200K!"}';
}
else
{
$saveImg = $savePath."/".$loginArr['uid']."_".time().rand().$fileType;

if( @move_uploaded_file($_FILES['upImg']['tmp_name'], $saveImg) )
{
echo '{"error":"","msg":"http://'.$site_domain.$site_catalog.$saveImg.'"}';
}
else
{
echo '{"error":"图片上传失败!"}';
}
}
}
}

if( $loginArr['state'] == 0 )
{
echo '{"error":"您还没有登录!"}';
}
else
{
$avatarPath = "attachment/avatar/".($loginArr['uid']2)."/".($loginArr['uid']%7)."/".$loginArr['uid'];

if( isset($_FILES['upAvatar']) )
{
mkDirs($avatarPath);

$fileType = strtolower(strrchr($_FILES['upAvatar']['name'],"."));

if ( !in_array($fileType, array(".jpg",".jpeg",".gif",".png")) )
{
echo '{"error":"目前仅支持格式为jpg、jpeg、gif、png的图片!"}';
}
elseif( $_FILES['upAvatar']['size'] > 2097152 )
{
echo '{"error":"图片不能超过2MB!"}';
}
else
{
$imgInfo = @getimagesize($_FILES['upAvatar']['tmp_name']);

if( !$imgInfo || !in_array($imgInfo[2], array(1,2,3)) )
{
echo '{"error":"系统无法识别您上传的文件!"}';
}
else
{
$TmpAvatar = $avatarPath."/temp".$fileType;

if( @move_uploaded_file($_FILES['upAvatar']['tmp_name'], $TmpAvatar) )
{
$maxWidth = 520;

$maxHeight = 520;

if( $maxWidth > $imgInfo[0] || $maxHeight > $imgInfo[1] )
{
$maxWidth = $imgInfo[0];

$maxHeight = $imgInfo[1];
}
else
{
if ( $imgInfo[0] < $imgInfo[1] )
$maxWidth = ($maxHeight / $imgInfo[1]) * $imgInfo[0];
else
$maxHeight = ($maxWidth / $imgInfo[0]) * $imgInfo[1];
}

if( $maxWidth < 40 )
{
$maxWidth = 40;
}

if( $maxHeight < 40 )
{
$maxHeight = 40;
}

$image_p = imagecreatetruecolor($maxWidth, $maxHeight);

switch($imgInfo[2])
{
case 1:
$image = imagecreatefromgif($TmpAvatar);
break;
case 2:
$image = imagecreatefromjpeg($TmpAvatar);
break;
case 3:
$image = imagecreatefrompng($TmpAvatar);
break;
}

imagecopyresampled($image_p, $image, 0, 0, 0, 0, $maxWidth, $maxHeight, $imgInfo[0], $imgInfo[1]);

imagejpeg($image_p, $avatarPath."/temp.jpg",100);

imagedestroy($image_p);

imagedestroy($image);

if( $fileType != ".jpg" && file_exists($TmpAvatar) )
{
unlink($TmpAvatar);
}

echo '{"error":"","url":"'.$avatarPath.'/temp.jpg?'.rand().'","width":"'.$maxWidth.'","height":"'.$maxHeight.'"}';
}
else
{
echo '{"error":"图片上传失败!"}';
}
}
}
}

if( isset($_POST['x'],$_POST['y'],$_POST['w'],$_POST['h']) )
{
if( is_numeric($_POST['x']) && is_numeric($_POST['y']) && $_POST['w'] > 0 && $_POST['h'] > 0 )
{
$image_p = imagecreatetruecolor(40, 40);

$image = imagecreatefromjpeg($avatarPath."/temp.jpg");

imagecopyresampled($image_p, $image, 0, 0, $_POST['x'], $_POST['y'], 40, 40, $_POST['w'], $_POST['h']);

imagejpeg($image_p, $avatarPath."/40_40.jpg",100);

imagedestroy($image_p);

imagedestroy($image);

unlink($avatarPath."/temp.jpg");

echo "1";
}
}

if( isset($_POST['avatar']) && $_POST['avatar'] == "delete" )
{
if( file_exists($avatarPath."/temp.jpg") )
{
unlink($avatarPath."/temp.jpg");
}
}
}

ob_end_flush();


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444998.htmlTechArticlephp 上传文件并生成缩略图代码 if( isset($_FILES['upImg']) ) { if( $userGroup[$loginArr['group']]['upload'] == 0 ) { echo '{error:您所在的用户组无权上传图片!...

文章来源:https://www.php.cn/faq/305562.html

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复

    作者信息

    相关文章