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中读取和写入WORD文档的代码
Apr 09 PHP
php array_slice函数的使用以及参数详解
Aug 30 PHP
php array_intersect()函数使用代码
Jan 14 PHP
PHP 获取客户端真实IP地址多种方法小结
May 15 PHP
php 团购折扣计算公式
Nov 24 PHP
解析thinkphp基本配置 convention.php
Jun 18 PHP
CI(CodeIgniter)框架中的增删改查操作
Jun 10 PHP
PHP中提问频率最高的11个面试题和答案
Sep 02 PHP
使用PHPMailer实现邮件发送代码分享
Oct 23 PHP
PHP面向对象多态性实现方法简单示例
Sep 27 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
详解Laravel服务容器的绑定与解析
Nov 05 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
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
php项目中类的自动加载实例讲解
2019/09/12 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
js切换div css注意的细节
2012/12/10 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
基于jQuery插件jqzoom实现的图片放大镜效果示例
2017/01/23 Javascript
微信小程序手势操作之单触摸点与多触摸点
2017/03/10 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
2018/03/16 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
使用Python生成url短链接的方法
2015/05/04 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
python实现彩色图转换成灰度图
2019/01/15 Python
django基于cors解决跨域请求问题详解
2019/08/06 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
2016/10/06 面试题
授权委托书格式
2014/07/31 职场文书
呐喊读书笔记
2015/06/30 职场文书
辩论赛新闻稿
2015/07/17 职场文书
python用tkinter开发的扫雷游戏
2021/06/01 Python
七个非常实用的Python工具包总结
2021/06/15 Python
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server