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 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
php smarty模版引擎中的缓存应用
Dec 11 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
Dec 02 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
Jun 03 PHP
hadoop中一些常用的命令介绍
Jun 19 PHP
PHP中让curl支持sock5的代码实例
Jan 21 PHP
php判断两个浮点数是否相等的方法
Mar 14 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
PHP滚动日志的代码实现
Jun 10 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 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 输出简单动态WAP页面
2009/06/09 PHP
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
js 定时器setTimeout无法调用局部变量的解决办法
2013/11/28 Javascript
javascript正则表达式之分组概念与用法实例
2016/06/16 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
Vue底层实现原理总结
2018/02/17 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
在Python3中使用asyncio库进行快速数据抓取的教程
2015/04/02 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
基于python实现KNN分类算法
2020/04/23 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
django教程如何自学
2020/07/31 Python
英国网上购买门:Direct Doors
2018/06/07 全球购物
建筑工程管理专业自荐信范文
2013/12/28 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
公司募捐倡议书
2014/05/14 职场文书
经营理念标语
2014/06/21 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
幼儿生日活动方案
2014/08/27 职场文书
2014年创先争优工作总结
2014/12/11 职场文书
运动与健康自我评价
2015/03/09 职场文书
离婚民事起诉状
2015/08/03 职场文书
MySQL如何构建数据表索引
2021/05/13 MySQL
Python中time与datetime模块使用方法详解
2022/03/31 Python