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 和 COM
Oct 09 PHP
PHP中实现图片的锐化
Oct 09 PHP
我的论坛源代码(九)
Oct 09 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
php 参数过滤、数据过滤详解
Oct 26 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
PHP中phar包的使用教程
Jun 14 PHP
详解php命令注入攻击
Apr 06 PHP
PHP的new static和new self的区别与使用
Nov 27 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
第十四节--命名空间
2006/11/16 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
2019/03/18 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
jQuery源码分析之Event事件分析
2010/06/07 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
JavaScript创建对象的常用方式总结
2018/08/10 Javascript
webpack的CSS加载器的使用
2018/09/11 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
仅利用30行Python代码来展示X算法
2015/04/01 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Python格式化输出%s和%d
2018/05/07 Python
python实现网页自动签到功能
2019/01/21 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
python多进程重复加载的解决方式
2019/12/13 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
python 获取当前目录下的文件目录和文件名实例代码详解
2020/03/10 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
应届大学生求职信
2013/12/01 职场文书
检讨书范文2000字
2015/01/28 职场文书
mysql事务对效率的影响分析总结
2021/10/24 MySQL