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调用数据库的存贮过程
Oct 09 PHP
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
PHP中使用curl入门教程
Jul 02 PHP
PHP Yii框架之表单验证规则大全
Nov 16 PHP
php mongodb操作类 带几个简单的例子
Aug 25 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 PHP
TP3.2.3框架文件上传操作实例详解
Jan 23 PHP
php使用redis的有序集合zset实现延迟队列应用示例
Feb 20 PHP
php 利用socket发送GET,POST请求的实例代码
Jul 04 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树的代码,可以嵌套任意层
2006/10/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php简单socket服务器客户端代码实例
2015/05/18 PHP
Yii中表单用法实例详解
2016/01/05 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
javascript回到顶部特效
2016/07/30 Javascript
html中鼠标滚轮事件onmousewheel的处理方法
2016/11/11 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
解决layer.msg 不居中 ifram中的问题
2019/09/05 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
[01:02:55]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python实现的递归神经网络简单示例
2017/08/11 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
python3.5基于TCP实现文件传输
2020/03/20 Python
python3爬虫中异步协程的用法
2020/07/10 Python
深入了解Python enumerate和zip
2020/07/16 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
大学生自我评价范文分享
2014/02/21 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android