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中for循环语句的几种变型
Nov 26 PHP
探讨PHP中this,self,parent的区别详解
Jun 08 PHP
php仿QQ验证码的实例分析
Jul 01 PHP
腾讯QQ微博API接口获取微博内容
Oct 30 PHP
PHP中的Memcache详解
Apr 05 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
PHP使用Pthread实现的多线程操作实例
Nov 14 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
php实现有序数组打印或排序的方法【附Python、C及Go语言实现代码】
Nov 10 PHP
PHP中empty,isset,is_null用法和区别
Feb 19 PHP
Yii2中添加全局函数的方法分析
May 04 PHP
PHP生成短网址的思路以及实现方法的详解
Mar 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
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
php创建、获取cookie及基础要点分析
2015/01/26 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
Thinkphp整合微信支付功能
2016/12/14 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
ThinkPHP框架实现的MySQL数据库备份功能示例
2018/05/24 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
JavaScript中property和attribute的区别详细介绍
2015/03/03 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
详解使用jQuery.i18n.properties实现js国际化
2018/05/04 jQuery
Vue组件全局注册实现警告框的实例详解
2018/06/11 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
Python 编码处理-str与Unicode的区别
2016/09/06 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
Django实现简单网页弹出警告代码
2019/11/15 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
python中spy++的使用超详细教程
2021/01/29 Python
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
怎样有效的进行自我评价
2013/10/06 职场文书
机修工岗位职责
2013/11/24 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
钢琴师观后感
2015/06/12 职场文书
小学运动会加油词
2015/07/18 职场文书
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电