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 相关文章推荐
Windows下的PHP5.0详解
Nov 18 PHP
PHP实现多服务器session共享之NFS共享的方法
Mar 16 PHP
php strtotime 函数UNIX时间戳
Jan 14 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
Jun 23 PHP
PHP闭包实例解析
Sep 08 PHP
php生成shtml类用法实例
Dec 09 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
php并发加锁示例
Oct 17 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 PHP
php实现的表单验证类完整示例
Aug 13 PHP
详细分析PHP 命名空间(namespace)
Jun 30 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
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
关于flash遮盖div浮动层的解决方法
2010/07/17 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
javascript、php关键字搜索函数的使用方法
2018/05/29 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
JavaScript内置对象math,global功能与用法实例分析
2019/06/10 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python3实现连接SQLite数据库的方法
2014/08/23 Python
Python中optparse模块使用浅析
2015/01/01 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
一行python实现树形结构的方法
2019/08/09 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
信用社员工先进事迹材料
2014/02/04 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
初三毕业评语
2014/12/26 职场文书
春晚观后感
2015/06/11 职场文书
婚礼伴郎致辞
2015/07/28 职场文书
写自招自荐信的绝招!
2019/04/19 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫
MySQL 语句执行顺序举例解析
2022/06/05 MySQL