php上传图片生成缩略图(GD库)


Posted in PHP onJanuary 06, 2016

首先来一段简单的php上传图片生成缩略图的详细代码,分享给大家供大家参考,具体内容如下

<?php
function createThumbnail($imageDirectory, $imageName, $thumbDirectory, $thumbWidth, $quality){
$details = getimagesize("$imageDirectory/$imageName") or die('Please only upload images.');
$type = preg_replace('@^.+(?<=/)(.+)$@', '$1', $details['mime']);
eval('$srcImg = imagecreatefrom'.$type.'("$imageDirectory/$imageName");');
$thumbHeight = $details[1] * ($thumbWidth / $details[0]);
$thumbImg = imagecreatetruecolor($thumbWidth, $thumbHeight);
imagecopyresampled($thumbImg, $srcImg, 0, 0, 0, 0, $thumbWidth, $thumbHeight,
$details[0], $details[1]);
eval('image'.$type.'($thumbImg, "$thumbDirectory/$imageName"'.
(($type=='jpeg')?', $quality':'').');');
imagedestroy($srcImg);
imagedestroy($thumbImg);
}
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "data/$name");
createThumbnail("/location/of/main/image", $name, "/location/to/store/thumb", 120, 80);
//120 = thumb width :: 80 = thumb quality (1-100)
}
}
?>

接下来再为大家推荐一个实例php使用GD库上传图片以及创建缩略图,直接看代码:

GD库是PHP进行图象操作一个很强大的库。

先在php.ini里增加一行引用:extension=php_gd2.dll

重启apache,做一个测试页var_dump(gd_info());输出数据表明GD库引用成功。

图片上传页面 upload.html

<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<title>图片上传</title>
</head>
<body>
<h1>文件上传(只允许上传jpg类型图片)</h1>
<form enctype="multipart/form-data" action="upload_img.php" method="post">
 <input name="upfile" type="file"><br><br>
 <input type="submit" value="提交">
</form>
</body>
</html>

处理页面upload_img.php

<?php
 //上传图片保存地址
 $uploadfile = "upfiles/".$_FILES['upfile']['name'];
 //缩略图保存地址
 $smallfile = "upfiles/small_".$_FILES['upfile']['name'];


 if($_FILES['upfile']['type'] != "image/jpeg")
 {
  echo '文件类型错误';
 }
 else
 {
  move_uploaded_file($_FILES['upfile']['tmp_name'],$uploadfile); //上传文件

  $dstW=200;//缩略图宽
  $dstH=200;//缩略图高

  $src_image=ImageCreateFromJPEG($uploadfile);
  $srcW=ImageSX($src_image); //获得图片宽
  $srcH=ImageSY($src_image); //获得图片高

  $dst_image=ImageCreateTrueColor($dstW,$dstH);
  ImageCopyResized($dst_image,$src_image,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
  ImageJpeg($dst_image,$smallfile);

  echo '文件上传成功<br>';
  echo "<img src='$smallfile' />";
 }
?>

希望对大家学习php程序设计有所帮助,谢谢大家的支持。

PHP 相关文章推荐
第一节--面向对象编程
Nov 16 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
测试php函数的方法
Nov 13 PHP
wordpress自定义url参数实现路由功能的代码示例
Nov 28 PHP
thinkphp特殊标签用法概述
Nov 24 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
php 访问oracle 存储过程实例详解
Jan 08 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 PHP
Smarty模板配置实例简析
Jul 20 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 PHP
php远程请求CURL实例教程(爬虫、保存登录状态)
Dec 10 PHP
joomla数据库操作示例代码
Jan 06 #PHP
Yii清理缓存的方法
Jan 06 #PHP
yii实现model添加默认值的方法(2种方法)
Jan 06 #PHP
如何使用微信公众平台开发模式实现多客服
Jan 06 #PHP
基于PHP技术开发客服工单系统
Jan 06 #PHP
分享php邮件管理器源码
Jan 06 #PHP
CI(Codeigniter)的Setting增强配置类实例
Jan 06 #PHP
You might like
php+mysql分页代码详解
2008/03/27 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
php实现httpRequest的方法
2015/03/13 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
PHP实现微信提现功能(微信商城)
2019/11/21 PHP
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
精通JavaScript 纠正 cleanWhitespace函数
2010/03/11 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
微信小程序 教程之列表渲染
2016/10/18 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
python正则匹配查询港澳通行证办理进度示例分享
2013/12/27 Python
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Python Flask基础教程示例代码
2018/02/07 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
基于Python的OCR实现示例
2020/04/03 Python
Python字典fromkeys()方法使用代码实例
2020/07/20 Python
某公司Java工程师面试题笔试题
2016/03/27 面试题
花店创业计划书范文
2014/02/07 职场文书
小班下学期评语
2014/05/04 职场文书
营业员岗位职责
2015/02/11 职场文书
政工师工作总结2015
2015/05/26 职场文书
教师节晚会主持词
2015/06/30 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
九年级化学教学反思
2016/02/22 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL