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&amp;java(二)
Oct 09 PHP
php算开始时间到过期时间的相隔的天数
Jan 12 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
Mar 20 PHP
解析coreseek for sphinx的使用
Jun 21 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
php实现的通用图片处理类
Mar 24 PHP
CodeIgniter钩子用法实例详解
Jan 20 PHP
php 类中的常量、静态属性、非静态属性的区别
Apr 09 PHP
Laravel实现表单提交
May 07 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
php获取根域名方法汇总
2014/10/28 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
Vue通过WebSocket建立长连接的实现代码
2019/11/05 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
简单介绍Python中的floor()方法
2015/05/15 Python
简单理解Python中的装饰器
2015/07/31 Python
python实现红包裂变算法
2016/02/16 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
在vscode中配置python环境过程解析
2019/09/28 Python
Python StringIO及BytesIO包使用方法解析
2020/06/15 Python
台湾网购生鲜第一品牌:i3Fresh爱上新鲜
2017/10/26 全球购物
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
请解释在new与override的区别
2012/10/29 面试题
《三亚落日》教学反思
2014/04/26 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
学期个人工作总结
2015/02/13 职场文书
蜗居观后感
2015/06/11 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python