php实现图片上传并利用ImageMagick生成缩略图

yipeiwu_com7年前PHP代码库

使用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数组函数序列之array_unshift() 在数组开头插入一个或多个元素

array_unshift()定义和用法 array_unshift() 函数在数组开头插入一个或多个元素。 被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。...

PHP实现合并discuz用户

PHP实现合并discuz用户

本文实例讲述了PHP合并discuz用户脚本的方法。分享给大家供大家参考。具体如下: 前几天遇到一个需要将两个discuz合并的项目,一个用户级别在12万左右,一个是1万8.不用说肯定是...

PHP实现的日历功能示例

PHP实现的日历功能示例

本文实例讲述了PHP实现的日历功能。分享给大家供大家参考,具体如下: <?php /* * Created by PhpStorm. * User: admin...

浅谈PHP中其他类型转化为Bool类型

浅谈PHP中其他类型转化为Bool类型

问题起由:PHP中if(true==2)会返回true还是false? 结果是返回true,顺着这个问题,我把php其他数据类型也测试一下。 结论: 转化为bool类型时,会变成fal...

PHP二维数组去重实例分析

本文实例分析了PHP二维数组去重的方法。分享给大家供大家参考,具体如下: 都知道一维数组去重用系统函数 array_unique($arr) 然后今天我用到二维数组了,也想去重,百度一大...