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 06 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 PHP
php+xml编程之xpath的应用实例
Jan 24 PHP
PHP向socket服务器收发数据的方法
Jan 24 PHP
php判断linux下程序问题实例
Jul 09 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
PHP的中使用非缓冲模式查询数据库的方法
Feb 05 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
Mar 04 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
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
PHP中ob_start函数的使用说明
2013/11/11 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
smarty高级特性之过滤器的使用方法
2015/12/25 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
使用JS画图之点、线、面
2015/01/12 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
2016/06/22 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
python微信跳一跳游戏辅助代码解析
2018/01/29 Python
查看django版本的方法分享
2018/05/14 Python
关于Theano和Tensorflow多GPU使用问题
2020/06/19 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
世界上最大的专业美容用品零售商:Sally Beauty
2017/07/02 全球购物
优秀中专生推荐信
2013/11/17 职场文书
施工班组长岗位职责
2014/01/05 职场文书
同学聚会欢迎辞
2014/01/14 职场文书
八一建军节活动方案
2014/02/10 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
亲属关系公证书样本
2015/01/23 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
合同范本之电脑出租
2019/08/13 职场文书