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连接Oracle数据库
Oct 09 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
php 上一篇,下一篇文章实现代码与原理说明
May 09 PHP
为PHP初学者的8点有效建议
Nov 20 PHP
基于MySQL体系结构的分析
May 02 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
php连接与操作PostgreSQL数据库的方法
Dec 25 PHP
解读PHP中上传文件的处理问题
May 29 PHP
PHP自定义函数实现格式化秒的方法
Sep 14 PHP
浅谈php中fopen不能创建中文文件名文件的问题
Feb 06 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
使用XHProf查找PHP性能瓶颈的实例
Dec 13 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_unique之后json_encode需要注意
2011/01/02 PHP
解析PHP中的unset究竟会不会释放内存
2013/07/18 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
PHP实现数组根据某个字段进行水平合并,横向合并案例分析
2019/10/08 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
解析arp病毒背后利用的Javascript技术附解密方法
2007/08/06 Javascript
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
JavaScript XML操作 封装类
2009/07/01 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python基础教程项目二之画幅好画
2018/04/02 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
pytorch数据预处理错误的解决
2020/02/20 Python
如何基于python实现不邻接植花
2020/05/01 Python
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
软件测试企业面试试卷
2016/07/13 面试题
2014年幼儿园学期工作总结
2014/12/05 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL