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中的phpinfo()函数
Jun 06 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
Apr 01 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
php数组合并与拆分实例分析
Jun 12 PHP
php版微信返回用户text输入的方法
Nov 14 PHP
PHP数据分析引擎计算余弦相似度算法示例
Aug 08 PHP
PHP学习笔记之session
May 06 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
PHP的静态方法与普通方法用法实例分析
Sep 26 PHP
PHP中isset、empty的用法与区别示例详解
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
Memcache 在PHP中的使用技巧
2010/02/08 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
dedecms中使用php语句指南
2014/11/13 PHP
php实现求相对时间函数
2015/06/15 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
JavaScript 常用函数
2009/12/30 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
react 父子组件之间通讯props
2018/09/08 Javascript
实例分析编写vue组件方法
2019/02/12 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
详细介绍Python的鸭子类型
2016/09/12 Python
Python运算符重载详解及实例代码
2017/03/07 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
python实现五子棋小游戏
2020/03/25 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
大学生创业项目方案
2014/03/08 职场文书
校本教研活动总结
2014/07/01 职场文书
小学向国旗敬礼活动方案
2014/09/27 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
如何做好工作总结!
2019/04/10 职场文书
Pandas自定义选项option设置
2021/07/25 Python
tomcat下部署jenkins的方法
2022/05/06 Servers