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 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
php 变量未定义等错误的解决方法
Jan 12 PHP
php 短链接算法收集与分析
Dec 30 PHP
用php制作简单分页(从数据库读取记录)的方法详解
May 04 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 PHP
PHP函数in_array()使用详解
Aug 20 PHP
PHP7.0版本备注
Jul 23 PHP
php+ajax注册实时验证功能
Jul 20 PHP
PHP 验证身份证是否合法的函数
Feb 09 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
Feb 27 PHP
PHP字符串与数组处理函数用法小结
Jan 07 PHP
thinkphp5 路由分发原理
Mar 18 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
JS插件plupload.js实现多图上传并显示进度条
2016/11/29 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
JavaScript实现旋转轮播图
2020/08/18 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
python处理圆角图片、圆形图片的例子
2014/04/25 Python
深入分析在Python模块顶层运行的代码引起的一个Bug
2014/07/04 Python
浅谈Python 集合(set)类型的操作——并交差
2016/06/30 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
Python实现iOS自动化打包详解步骤
2018/10/03 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
Python图像读写方法对比
2020/11/16 Python
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
关于赌博的检讨书
2014/01/08 职场文书
双十佳事迹材料
2014/01/29 职场文书
高二物理教学反思
2014/02/08 职场文书
公司捐款倡议书
2014/05/14 职场文书
电话客服工作职责
2014/07/27 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书
python小程序之飘落的银杏
2021/04/17 Python
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
Redis实现订单过期删除的方法步骤
2022/06/05 Redis