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 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
Apr 09 PHP
PHP中数组合并的两种方法及区别介绍
Sep 14 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
ThinkPHP的URL重写问题
Jun 22 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
Yii隐藏URL中index.php的方法
Jul 12 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
TP5框架实现签到功能的方法分析
Apr 05 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+MSSQL分页的例子
2006/10/09 PHP
如何用php获取程序执行的时间
2013/06/09 PHP
使用php批量删除数据库下所有前缀为prefix_的表
2014/06/09 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
JS 建立对象的方法
2007/04/21 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
React学习笔记之条件渲染(一)
2017/07/02 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
详解easyui 切换主题皮肤
2019/04/04 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
Python魔法方法功能与用法简介
2019/04/04 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
车间副主任岗位职责
2013/12/24 职场文书
年度考核自我评价
2014/01/25 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
2015年教研员工作总结
2015/05/26 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书