php实现从上传文件创建缩略图的方法


Posted in PHP onApril 02, 2015

本文实例讲述了php实现从上传文件创建缩略图的方法。分享给大家供大家参考。具体实现方法如下:

<?php
if ($_REQUEST['action']=="add"){
$userfile = $HTTP_POST_FILES['photo']['tmp_name'];
$userfile_name = $HTTP_POST_FILES['photo']['name'];
$userfile_size = $HTTP_POST_FILES['photo']['size'];
$userfile_type = $HTTP_POST_FILES['photo']['type'];
///////////////////////// 
//GET-DECLARE DIMENSIONS //
$dimension = getimagesize($userfile);
$large_width = $dimension[0]; // GET PHOTO WIDTH
$large_height = $dimension[1]; //GET PHOTO HEIGHT
$small_width = 120; // DECLARE THUMB WIDTH
$small_height = 90; // DECLARE THUMB HEIGHT
/////////////////////////
//CHECK SIZE //
if ($userfile_size>102400){
   $error=1;
   $msg = "The photo is over 100kb. Please try again.";
}
////////////////////////////////
// CHECK TYPE (IE AND OTHERS) //
if ($userfile_type="image/pjpeg"){
  if ($userfile_type!="image/jpeg"){
    $error=1;
    $msg = "The photo must be JPG";
  }
}
//////////////////////////////
//CHECK WIDTH/HEIGHT //
if ($large_width!=600 or$large_height!=400){
$error=1;
$msg = "The photo must be 600x400 pixels";
}
///////////////////////////////////////////
//CREATE THUMB / UPLOAD THUMB AND PHOTO ///
if ($error<>1){
  $image = $userfile_name; //if you want to insert it to the database
  $pic = imagecreatefromjpeg($userfile);
  $small = imagecreatetruecolor($small_width,$small_height);
  imagecopyresampled($small,$pic,0,0,0,0, $small_width, $small_height, $large_width, $large_height);
  if (imagejpeg($small,"path/to/folder/to/upload/thumb".$userfile_name, 100)){  
    $large = imagecreatetruecolor($large_width,$large_height);
  imagecopyresampled($large,$pic,0,0,0,0, $large_width, $large_height, $large_width, $large_height);
    if (imagejpeg($large,"path/to/folder/to/upload/photo".$userfile_name, 100))
   {}
      else {$msg="A problem has occured. Please try again."; $error=1;}
  }
  else {
   $msg="A problem has occured. Please try again."; $error=1;
  }
}
//////////////////////////////////////////////
/// If everything went right a photo (600x400) and
/// a thumb(120x90) were uploaded to the given folders
}
?>
<html><head><title>create thumb</title></head>
<body>
<form name="form1" enctype="multipart/form-data" action="thisfile.php?action=add" method="post">
Select Photo: <input type="file" name="photo">
<input type="submit" name="submit" value="CREATE THUMB AND UPLOAD">
</form>
</body
</html>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP语法速查表
Jan 02 PHP
PHP 的 __FILE__ 常量
Jan 15 PHP
php读取数据库信息的几种方法
May 24 PHP
PHP生成Gif图片验证码
Oct 27 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路
Sep 20 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
php调用KyotoTycoon简单实例
Apr 02 #PHP
PHP中数据类型转换的三种方式
Apr 02 #PHP
php在apache环境下实现gzip配置方法
Apr 02 #PHP
PHP中使用socket方式GET、POST数据实例
Apr 02 #PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 #PHP
php中实现获取随机数组列表的自定义函数
Apr 02 #PHP
PHP版微信公众平台红包API
Apr 02 #PHP
You might like
解析如何用php screw加密php源代码
2013/06/20 PHP
codeigniter集成ucenter1.6双向通信的解决办法
2014/06/12 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
使用jquery实现简单的ajax
2013/07/08 Javascript
jquery css 设置table的奇偶行背景色示例
2014/06/03 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
2015/01/05 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
[02:52]2017DOTA2国际邀请赛中国区预选赛晋级之路
2017/07/03 DOTA
python求众数问题实例
2014/09/26 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
如何使用python代码操作git代码
2020/02/29 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
婚前协议书
2014/04/15 职场文书
汽车专业求职信
2014/06/05 职场文书
公安局班子个人对照检查材料思想汇报
2014/10/09 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
新郎婚礼致辞
2015/07/27 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
小学教师教学反思
2016/02/24 职场文书
民事调解协议书
2016/03/21 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书
导游词之千岛湖
2019/09/23 职场文书
JS数组的常用方法整理
2021/03/31 Javascript