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']%32)."/".($loginArr['uid']%257)."/".$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();
php 上传文件并生成缩略图代码
时间: 2024-09-26 13:50:57
php 上传文件并生成缩略图代码的相关文章
php文件上传类可生成缩略图代码
<?php 代码如下 复制代码 if ($_GET['action'] == 'save') { $up = new upload(); $up->set_dir(dirname(__FILE__).'/upload/','{y}/{m}'); $up->set_thumb(100,80); $up->set_watermark(dirname(__FILE__).
jsp上传文件之后,针对上传文件自动生成超链接供下载,具体代码。谢谢。
问题描述 jsp上传文件之后,针对上传文件自动生成超链接供下载,具体代码.谢谢. jsp上传文件之后,针对上传文件自动生成超链接供下载,整个过程的具体代码.谢谢. 解决方案 这个代码很长,你自己做到哪一步了.上传文件后会返回一个地址,使用servlet访问路径和那个地址拼接出url放在a标签的href就行了 解决方案二: http://www.cnblogs.com/xdp-gacl/p/4200090.html 解决方案三: JSP上传文件代码
webconfig限制了大小,控件上传文件,不执行代码就直接报错!如何解决
问题描述 -------web.config----<httpRuntimeexecutionTimeout="3600"maxRequestLength="1000"useFullyQualifiedRedirectUrl="true"/>-----------code----------------------------------------#region上传文件功能,包括文件上传及数据库信息同步更新privatevoidIm
ASP.NET MVC:HTML 5+MVC上传文件显示进度的代码
<head> <title>Index</title> <style type="text/css"> #statusBorder { position:relative; height:5px; width:100px; border:solid 1px gray; display:none; } #statusFill{ position:absolute; top:0; left:0; width:0px; background-c
使用Java代码如何上传文件到Stuts Action中??
问题描述 使用Java代码如何上传文件到Stuts Action中??求大神..... 问题补充:这里不是使用浏览器上传文件,而是使用Java代码上传... 解决方案 刚好写过直接上代码了调用的地方的代码URL url = new URL(imageHttp); BufferedImage img = ImageIO.read(url); File file = new File(System.currentTimeMillis()+".jpg"); ImageIO.write(img
PHP上传文件代码之入门代码
这是一种非常简单文件上传方式.基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制. 代码如下 复制代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta http-equiv="Co
PHP+Ajax实现文件无刷新上传文件代码
PHP + jQuery Ajax文件上传实例.因为看到一些朋友询问如何实现PHP环境下的网页上传功能,自己这几天刚用了jQuery_upload_multiple上传插件,所以在这里把用法给大家说一下. 要实现基于这个插件的上传功能,其实挺简单,需要jquery就行了,另外还有一个上传文件时的PHP程序,费话不多说,先看下面的HTML,也就是带有上传表单,让用户选择上传文件的页面: 代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
如何使用JS获取IE上传文件路径(IE7,8)
本篇文章是对使用JS获取IE上传文件路径的实现代码进行了详细的分析介绍,需要的朋友参考下 复制代码 代码如下: function validateFileSize(id, maxsize) { var btnsave = document.getElementById("Button2"); btnsave.disabled = false; var filepath = "";
Android通过HTTP协议实现上传文件数据_Android
本文实例为大家分享了Android通过HTTP协议实现上传文件数据的具体代码,供大家参考,具体内容如下 SocketHttpRequester.java package cn.itcast.utils; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.InputStream; import java.io.Inp