php实现图片上传并利用ImageMagick生成缩略图


Posted in PHP onMarch 14, 2016

使用ImageMagick,您可以轻松,更快地创建缩略图,比使用PHP的容易得多。

<?php
// Location to upload main image:
$mainDir = $_SERVER['DOCUMENT_ROOT'].'/images/l/';
// Location to create the thumb image:
$smalDir = $_SERVER['DOCUMENT_ROOT'].'/images/s/';
// Command to use:
$command = '/usr/bin/convert';
// Thumbnail width:
$size = 210;
// Make sure we have an image:
if(isset($_POST['submit'])){
if(getimagesize($_FILES['photo']['tmp_name'])){
$name = $_FILES['photo']['name'];
$uploadfile = $mainDir . $name;
move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile);
$lrgImg = $mainDir . $name;
$smlImg = $smalDir . $name;
$imageMagick = $command . " '". $lrgImg . "' -resize '$size' '" . $smlImg . "'";
shell_exec($imageMagick);
}
header("Location: /test.php");
exit;
}else{
?>
<form action=" <?php echo $_SERVER['PHP_SELF']; ?> " method="post" enctype="multipart/form-data">
<p><input type="file" name="photo" /></p>
<p><input type="submit" value="Upload!" name="submit" /></p>
</form>
<?php
foreach(glob($smalDir.'*') as $img){
echo ' <img src="'.str_replace($_SERVER['DOCUMENT_ROOT'], '',$img).'" /> ';
}
}
?>

希望本文所述对大家学习php程序设计有所帮助。

PHP 相关文章推荐
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
Aug 22 PHP
PHP中的类型约束介绍
May 11 PHP
PHP扩展开发教程(总结)
Nov 04 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
浅谈PHP的反射机制
Dec 15 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 PHP
PDO::query讲解
Jan 29 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
Nov 13 PHP
详解PHP Swoole与TCP三次握手
May 27 PHP
YII Framework框架教程之国际化实现方法
Mar 14 #PHP
YII Framework框架教程之缓存用法详解
Mar 14 #PHP
YII Framework框架教程之安全方案详解
Mar 14 #PHP
YII Framework框架教程之日志用法详解
Mar 14 #PHP
YII Framework教程之异常处理详解
Mar 14 #PHP
Zend Framework教程之Application用法实例详解
Mar 14 #PHP
Zend Framework自定义Helper类相关注意事项总结
Mar 14 #PHP
You might like
谈谈PHP语法(3)
2006/10/09 PHP
文章推荐系统(三)
2006/10/09 PHP
ThinkPHP模板判断输出Defined标签用法详解
2014/06/30 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
javaScript语法总结
2016/11/25 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
vue实现购物车列表
2020/06/30 Javascript
[43:24]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS Liquid
2018/03/30 DOTA
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
python3实现高效的端口扫描
2019/08/31 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
python给list排序的简单方法
2020/12/10 Python
python实现计算图形面积
2021/02/22 Python
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
新西兰网上购物,折扣店:BestDeals.co.nz
2019/03/20 全球购物
大学生求职自我评价
2014/01/16 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
网络营销实训总结
2015/08/03 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
CSS3实现的水平标题菜单
2021/04/14 HTML / CSS
python实现进度条的多种实现
2021/04/29 Python
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS