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扩展图文教程
Dec 12 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
深入理解PHP内核(一)
Nov 10 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
Yii中的relations数据关联查询及统计功能用法详解
Jul 14 PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 PHP
Yii中的cookie的发送和读取
Jul 27 PHP
PHP文件操作实例总结
Sep 27 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 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
ThinkPHP3.2.1图片验证码实现方法
2016/08/19 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
通过javascript把图片转化为字符画
2013/10/24 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
微信小程序 request接口的封装实例代码
2017/04/26 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
Vue组件化开发思考
2018/02/02 Javascript
深入koa-bodyparser原理解析
2019/01/16 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
解决layui 表单元素radio不显示渲染的问题
2019/09/04 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
Python 爬取携程所有机票的实例代码
2018/06/11 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
python实现小程序推送页面收录脚本
2020/04/20 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
django rest framework 自定义返回方式
2020/07/12 Python
Appium+Python实现简单的自动化登录测试的实现
2021/01/26 Python
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
《愚公移山》教学反思
2014/02/20 职场文书