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 相关文章推荐
dedecms中显示数字验证码的修改方法
Mar 21 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
php处理斐波那契数列非递归方法
Feb 04 PHP
基于PHP服务端图片生成缩略图的方法详解
Jun 20 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
php语言的7种基本的排序方法
Dec 28 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
Apr 12 PHP
php集成开发环境详解
Sep 24 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
深入了解php4(2)--重访过去
2006/10/09 PHP
PHP XML备份Mysql数据库
2009/05/27 PHP
微信API接口大全
2015/04/15 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
JS 控制非法字符的输入代码
2009/12/04 Javascript
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
jquery dataTable 后台加载数据并分页实例代码
2017/06/07 jQuery
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
vue项目实现github在线预览功能
2018/06/20 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
浅析Python中的多重继承
2015/04/28 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
python3安装crypto出错及解决方法
2019/07/30 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
基于opencv实现简单画板功能
2020/08/02 Python
Python如何实现Paramiko的二次封装
2021/01/30 Python
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
学生不参加考试检讨书
2015/02/19 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
2019年入党思想汇报
2019/03/25 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
Pytorch实现图像识别之数字识别(附详细注释)
2021/05/11 Python
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js