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 相关文章推荐
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
PHP调用MySQL的存储过程的实现代码
Aug 12 PHP
PHP简洁函数小结
Aug 12 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
May 11 PHP
php通过淘宝API查询IP地址归属等信息
Dec 25 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
Mar 04 PHP
php好代码风格的阶段性总结
Jun 25 PHP
php  单例模式详细介绍及实现源码
Nov 05 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 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自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
总结PHP删除字符串最后一个字符的三种方法
2016/08/30 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
js倒计时抢购实例
2015/12/20 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
JavaScript实现创建自定义对象的常用方式总结
2018/07/09 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
python解析文件示例
2014/01/23 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
python3下实现搜狗AI API的代码示例
2018/04/10 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
Python multiprocessing多进程原理与应用示例
2019/02/28 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
洗发露广告词
2014/03/14 职场文书
企业年会主持词
2014/03/27 职场文书
行政部经理助理岗位职责
2014/06/15 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
推荐六本经典文学奖书籍:此生必读
2019/08/22 职场文书