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 相关文章推荐
php5.3 注意事项说明
Jul 01 PHP
php发送post请求函数分享
Mar 06 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
Jan 08 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
使用Zttp简化Guzzle 调用
Jul 02 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
完美的php分页类
Oct 24 PHP
PHP addcslashes()函数讲解
Feb 03 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 array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
jQuery.each()用法分享
2012/07/31 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
微信小程序如何实现点击图片放大功能
2020/01/21 Javascript
原生javascript单例模式的应用实例分析
2020/02/23 Javascript
JavaScript字符和ASCII实现互相转换
2020/06/03 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
Python字符编码判断方法分析
2016/07/01 Python
PyQt5每天必学之日历控件QCalendarWidget
2018/04/19 Python
对Python3.x版本print函数左右对齐详解
2018/12/22 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
浅析python 字典嵌套
2020/09/29 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
Python 里最强的地图绘制神器
2021/03/01 Python
中学实习教师自我鉴定
2013/12/12 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
八一建军节感言
2014/02/28 职场文书
实用的简历自我评价
2014/03/06 职场文书
病媒生物防治方案
2014/05/13 职场文书
服务员态度差检讨书
2014/10/28 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android