php中制作缩略图的方法也很简单,是用imagecopyresampled方法根据源图制作一个小一点的图片,来看代码check_image_addthumbs.php ? php // 修改图片效果 $db = mysql_connect ('localhost','root','Ctrip07185419') or die ('can not connect to database' )
php中制作缩略图的方法也很简单,是用imagecopyresampled方法根据源图制作一个小一点的图片,来看代码check_image_addthumbs.php
<?<span>php
</span><span>//</span><span>修改图片效果</span>
<span>$db</span> = <span>mysql_connect</span>('localhost','root','Ctrip07185419') or <span>die</span>('can not connect to database'<span>);
</span><span>mysql_select_db</span>('moviesite',<span>$db</span>) or <span>die</span>(<span>mysql_error</span>(<span>$db</span><span>));
</span><span>//</span><span>上传文件的路径</span>
<span>$dir</span> = 'D:\Serious\phpdev\test\images'<span>;
</span><span>//</span><span>缩略图的路径</span>
<span>$thumbdir</span> = 'D:\Serious\phpdev\test\images\thumbs'<span>;
</span><span>//</span><span>设置环境变量</span>
<span>putenv</span>('GDFONTPATH='.'C:\Windows\Fonts'<span>);
</span><span>$font</span> = "arial"<span>;
</span><span>//</span><span>upload_image.php页面传递过来的参数,如果是上传图片</span>
<span>if</span>(<span>$_POST</span>['submit'] == 'Upload'<span>)
{
</span><span>if</span>(<span>$_FILES</span>['uploadfile']['error'] !=<span> UPLOAD_ERR_OK)
{
</span><span>switch</span>(<span>$_FILES</span>['uploadfile']['error'<span>])
{
</span><span>case</span> UPLOAD_ERR_INI_SIZE:
<span>die</span>('The uploaded file exceeds the upload_max_filesize directive'<span>);
</span><span>break</span><span>;
</span><span>case</span> UPLOAD_ERR_FORM_SIZE:
<span>die</span>('The upload file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form'<span>);
</span><span>break</span><span>;
</span><span>case</span> UPLOAD_ERR_PARTIAL:
<span>die</span>('The uploaded file was only partially uploaded'<span>);
</span><span>break</span><span>;
</span><span>case</span> UPLOAD_ERR_NO_FILE:
<span>die</span>('No file was uploaded'<span>);
</span><span>break</span><span>;
</span><span>case</span> UPLOAD_ERR_NO_TMP_DIR:
<span>die</span>('The server is missing a temporary folder'<span>);
</span><span>break</span><span>;
</span><span>case</span> UPLOAD_ERR_CANT_WRITE:
<span>die</span>('The server fail to write the uploaded file to the disk'<span>);
</span><span>break</span><span>;
</span><span>case</span> UPLOAD_ERR_EXTENSION:
<span>die</span>('The upload stopped by extension'<span>);
</span><span>break</span><span>;
}
}
</span><span>$image_caption</span> = <span>$_POST</span>['caption'<span>];
</span><span>$image_username</span> = <span>$_POST</span>['username'<span>];
</span><span>$image_date</span> = <span>date</span>('Y-m-d'<span>);
</span><span>list</span>(<span>$width</span>,<span>$height</span>,<span>$type</span>,<span>$attr</span>) = <span>getimagesize</span>(<span>$_FILES</span>['uploadfile']['tmp_name'<span>]);
</span><span>$error</span> = 'The file you upload is not a supported filetype'<span>;
</span><span>switch</span>(<span>$type</span><span>)
{
</span><span>case</span> IMAGETYPE_GIF:
<span>$image</span> = imagecreatefromgif(<span>$_FILES</span>['uploadfile']['tmp_name']) or <span>die</span>(<span>$error</span><span>);
</span><span>break</span><span>;
</span><span>case</span> IMAGETYPE_JPEG:
<span>$image</span> = imagecreatefromjpeg(<span>$_FILES</span>['uploadfile']['tmp_name']) or <span>die</span>(<span>$error</span><span>);
</span><span>break</span><span>;
</span><span>case</span> IMAGETYPE_PNG:
<span>$image</span> = imagecreatefrompng(<span>$_FILES</span>['uploadfile']['tmp_name']) or <span>die</span>(<span>$error</span><span>);
</span><span>break</span><span>;
</span><span>default</span>:
<span>break</span><span>;
}
</span><span>$query</span> = 'insert into images(image_caption,image_username,image_date) values("'.<span>$image_caption</span>.'" , "'.<span>$image_username</span>.'","'.<span>$image_date</span>.'")'<span>;
</span><span>$result</span> = <span>mysql_query</span>(<span>$query</span>,<span>$db</span>) or <span>die</span>(<span>mysql_error</span>(<span>$db</span><span>));
</span><span>$last_id</span> = <span>mysql_insert_id</span><span>();
</span><span>//</span><span> $imagename = $last_id.'.jpg';
// imagejpeg($image,$dir.'/'.$imagename);
// imagedestroy($image);</span>
<span>$image_id</span> = <span>$last_id</span><span>;
imagejpeg(</span><span>$image</span> , <span>$dir</span>.'/'.<span>$image_id</span>.'.jpg'<span>);
imagedestroy(</span><span>$image</span><span>);
}
</span><span>else</span> <span>//</span><span>如果图片已经上传,则从数据库中取图片名字</span>
<span>{
</span><span>$query</span> = 'select image_id,image_caption,image_username,image_date from images where image_id='.<span>$_POST</span>['id'<span>];
</span><span>$result</span> = <span>mysql_query</span>(<span>$query</span>,<span>$db</span>) or <span>die</span>(<span>mysql_error</span>(<span>$db</span><span>));
</span><span>extract</span>(<span>mysql_fetch_assoc</span>(<span>$result</span><span>));
</span><span>list</span>(<span>$width</span>,<span>$height</span>,<span>$type</span>,<span>$attr</span>) = <span>getimagesize</span>(<span>$dir</span>.'/'.<span>$image_id</span>.'.jpg'<span>);
}
</span><span>//</span><span>如果是保存图片</span>
<span>if</span>(<span>$_POST</span>['submit'] == 'Save'<span>)
{
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['id']) && <span>ctype_digit</span>(<span>$_POST</span>['id']) && <span>file_exists</span>(<span>$dir</span>.'/'.<span>$_POST</span>['id'].'.jpg'<span>))
{
</span><span>$image</span> = imagecreatefromjpeg(<span>$dir</span>.'/'.<span>$_POST</span>['id'].'.jpg'<span>);
}
</span><span>else</span><span>
{
</span><span>die</span>('invalid image specified'<span>);
}
</span><span>$effect</span> = (<span>isset</span>(<span>$_POST</span>['effect'])) ? <span>$_POST</span>['effect'] : -1<span>;
</span><span>switch</span>(<span>$effect</span><span>)
{
</span><span>case</span> IMG_FILTER_NEGATE:<span>
imagefilter(</span><span>$image</span> , IMG_FILTER_NEGATE); <span>//</span><span>将图像中所有颜色反转</span>
<span>break</span><span>;
</span><span>case</span> IMG_FILTER_GRAYSCALE:<span>
imagefilter(</span><span>$image</span> , IMG_FILTER_GRAYSCALE); <span>//</span><span>将图像转换为灰度的</span>
<span>break</span><span>;
</span><span>case</span> IMG_FILTER_EMBOSS:<span>
imagefilter(</span><span>$image</span> , IMG_FILTER_EMBOSS); <span>//</span><span>使图像浮雕化</span>
<span>break</span><span>;
</span><span>case</span> IMG_FILTER_GAUSSIAN_BLUR:<span>
imagefilter(</span><span>$image</span> , IMG_FILTER_GAUSSIAN_BLUR); <span>//</span><span>用高斯算法模糊图像</span>
<span>break</span><span>;
}
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['emb_caption'<span>]))
{
imagettftext(</span><span>$image</span> , 12 , 0 , 20 , 20 , 0 , <span>$font</span> , <span>$image_caption</span><span>);
}
</span><span>$thumb_width</span> = <span>$width</span> * 0.10<span>;
</span><span>$thumb_height</span> = <span>$height</span> * 0.10<span>;
</span><span>//</span><span>创建一个缩略图</span>
<span>$thumb</span> = imagecreatetruecolor(<span>$thumb_width</span>, <span>$thumb_height</span><span>);
imagecopyresampled(</span><span>$thumb</span>, <span>$image</span>, 0, 0, 0, 0, <span>$thumb_width</span>, <span>$thumb_height</span>, <span>$width</span>, <span>$height</span><span>);
</span><span>//</span><span>保存原图</span>
imagejpeg(<span>$image</span>, <span>$dir</span> . '/' . <span>$_POST</span>['id'] . '.jpg', 100<span>);
</span><span>//</span><span>保存缩略图</span>
imagejpeg(<span>$thumb</span>, <span>$thumbdir</span> . '/' . <span>$_POST</span>['id'] . '.jpg', 100<span>);
imagedestroy(</span><span>$thumb</span><span>);
</span>?>
<html>
<head>
<title>Here is your pic!</title>
</head>
<body>
<h1>Your image has been saved!</h1>
@@##@@$_POST</span>['id'];?>.jpg" alt="" />
</body>
</html>
<?<span>php
}
</span><span>else</span><span>
{
</span>?>
<html>
<head>
<title>Here is your pic!</title>
</head>
<body>
<h1>So how does it feel to be famous?</h1>
<p>Here is the picture you just uploaded to your servers:</p>
<!--@@##@@$imagename</span>;?>" alt="" style="float:left;" />-->
</body>
</html>
<?<span>php
</span><span>if</span>(<span>$_POST</span>['submit'] == 'Upload'<span>)
{
</span><span>$imagename</span> = 'images/'.<span>$image_id</span>.'.jpg'<span>;
}
</span><span>else</span><span>
{
</span><span>$imagename</span> = 'image_effect.php?id='.<span>$image_id</span>.'&e='.<span>$_POST</span>['effect'<span>];
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['emb_caption'<span>]))
{
</span><span>$imagename</span> .= '&capt='.<span>urlencode</span>(<span>$image_caption</span><span>);
}
}
</span>?>
@@##@@$imagename</span>;?>" style="float:left;" alt="" />
<table>
<tr>
<td>Image save <span>as</span>:</td>
<td><?php <span>$image_id</span>?></td>
</tr>
<tr>
<td>Height:</td>
<td><?php <span>echo</span> <span>$height</span>;?></td>
</tr>
<tr>
<td>Widht:</td>
<td><?php <span>echo</span> <span>$width</span>;?></td>
</tr>
<tr>
<td>Upload <span>date</span>:</td>
<td><?php <span>echo</span> <span>$image_date</span>;?></td>
</tr>
</table>
<p>You may apply a special effect to your image from the <span>list</span> of option below.<span>
Note</span>:saving an image with any of the filters applied <em>can be undone</em>
</p>
<form action="<?php echo <span>$_SERVER</span>['PHP_SELF'];?>" method="post">
<div>
<input type="hidden" name="id" value="<?php echo <span>$image_id</span>;?>"/><span>
Filter</span>:<select name="effect" id="">
<option value="-1">None</option>
<?<span>php
</span><span>echo</span> '<option value="'.IMG_FILTER_GRAYSCALE.'" '<span>;
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['effect']) && <span>$_POST</span>['effect'] ==<span> IMG_FILTER_GRAYSCALE)
{
</span><span>echo</span> 'selected="selected"'<span>;
}
</span><span>echo</span> ' >Black and white</option>'<span>;
</span><span>echo</span> '<option value="'.IMG_FILTER_GAUSSIAN_BLUR.'"'<span>;
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['effect']) && <span>$_POST</span>['effect'] ==<span> IMG_FILTER_GAUSSIAN_BLUR)
{
</span><span>echo</span> ' selected="selected"'<span>;
}
</span><span>echo</span> '>Blur</option>'<span>;
</span><span>echo</span> '<option value="'.IMG_FILTER_EMBOSS.'"'<span>;
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['effect']) && <span>$_POST</span>['effect'] ==<span> IMG_FILTER_EMBOSS)
{
</span><span>echo</span> 'selected="selected"'<span>;
}
</span><span>echo</span> '>Emboss</option>'<span>;
</span><span>echo</span> '<option value="'.IMG_FILTER_NEGATE.'"'<span>;
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['effect']) && <span>$_POST</span>['effect'] ==<span> IMG_FILTER_NEGATE)
{
</span><span>echo</span> 'selected="selected"'<span>;
}
</span><span>echo</span> '>Negative</option>'<span>;
</span>?>
</select><br />
<?<span>php
</span><span>echo</span> '<input type="checkbox" name="emb_caption"'<span>;
</span><span>if</span>(<span>isset</span>(<span>$_POST</span>['emb_caption'<span>]))
{
</span><span>echo</span> ' checked="checked"'<span>;
}
</span><span>echo</span> ' />Embed caption in image?'<span>;
</span>?>
<input type="submit" value="Preview" name="submit" /><br /><br />
<input type="submit" value="Save" name="submit" />
</div>
</form>
<?<span>php
}
</span>?>缩略图放在D:\Serious\phpdev\test\images\thumbs路径下面,这里我们添加了一个gallery.php文件来陈列所有的缩略图,代码如下:
<?<span>php
</span><span>$db</span> = <span>mysql_connect</span>('localhost','root','Ctrip07185419') or <span>die</span>('can not connect to database'<span>);
</span><span>mysql_select_db</span>('moviesite',<span>$db</span>) or <span>die</span>(<span>mysql_error</span>(<span>$db</span><span>));
</span><span>$dir</span> = 'images'<span>;
</span><span>$thumbdir</span> = <span>$dir</span>.'/thumbs'<span>;
</span>?>
<html>
<head>
<title>Welcome to our Photo Gallery</title>
<style type="text/css"><span>
th{ background</span>-color:<span>#</span><span>999; }</span>
.odd_row { background-color:<span>#</span><span>EEE;}</span>
.even_row {background-color:<span>#</span><span>FFF;}</span>
</style>
</head>
<body>
<p>Click on any image to see it full sized.</p>
<div class="aritcle_card">
<a class="aritcle_card_img" href="/xiazai/code/10068">
<img src="https://img.php.cn/upload/webcode/000/000/002/176071140242516.png" alt="奥硕企业网站管理系统终身免费版精简版1.0 build 090625">
</a>
<div class="aritcle_card_info">
<a href="/xiazai/code/10068">奥硕企业网站管理系统终身免费版精简版1.0 build 090625</a>
<p>奥硕企业网站管理系统具有一下特色功能1、双语双模(中英文采用单独模板设计,可制作中英文不同样式的网站)2、在线编辑JS动态菜单支持下拉效果,同时生成中文,英文,静态3个JS菜单3、在线制作并调用FLASH展示动画4、自动生成缩略图,可以自由设置宽高5、图片批量加水印,可以自由设置字体,大小,样式,水印位置(同时支持文字或图片类型水印)6、强大的标签式数据调用,可以调用(新闻,产品,下载,招聘)支持</p>
<div class="">
<img src="/static/images/card_xiazai.png" alt="奥硕企业网站管理系统终身免费版精简版1.0 build 090625">
<span>0</span>
</div>
</div>
<a href="/xiazai/code/10068" class="aritcle_card_btn">
<span>查看详情</span>
<img src="/static/images/cardxiayige-3.png" alt="奥硕企业网站管理系统终身免费版精简版1.0 build 090625">
</a>
</div>
<table style="width:100%">
<tr>
<th>Image</th>
<th>Caption</th>
<th>Uploaded By</th>
<th><span>Date</span> uploaded</th>
</tr>
<?<span>php
</span><span>$result</span> = <span>mysql_query</span>('select * from images') or <span>die</span>(<span>mysql_error</span>(<span>$db</span><span>));
</span><span>$odd</span> = <span>true</span><span>;
</span><span>while</span>(<span>$row</span> = <span>mysql_fetch_assoc</span>(<span>$result</span><span>))
{
</span><span>echo</span> (<span>$odd</span> == <span>true</span>) ? '<tr class="odd_row">' : '<tr class="even_row">'<span>;
</span><span>$odd</span> = !<span>$odd</span><span>;
</span><span>extract</span>(<span>$row</span><span>);
</span><span>echo</span> '<td><a href="' . <span>$dir</span> . '/' . <span>$image_id</span>.'.jpg">'<span>;
</span><span>echo</span> '@@##@@$thumbdir</span> . '/' . <span>$image_id</span> . '.jpg" alt="" />'<span>;
</span><span>echo</span> '</a></td>'<span>;
</span><span>echo</span> '<td>'.<span>$image_caption</span>.'</td>'<span>;
</span><span>echo</span> '<td>'.<span>$image_username</span>.'</td>'<span>;
</span><span>echo</span> '<td>'.<span>$image_date</span>.'</td>'<span>;
</span><span>echo</span> '</tr>'<span>;
}
</span>?>
</table>
</body>
</html>来看看最后显示缩略图的效果:
立即学习“PHP免费学习笔记(深入)”;
<span>$thumb_width</span> = <span>$width</span> * 0.10<span>;
</span><span>$thumb_height</span> = <span>$height</span> * 0.10<span>;
</span><span>//</span><span>创建一个缩略图</span>
<span>$thumb</span> = imagecreatetruecolor(<span>$thumb_width</span>, <span>$thumb_height</span><span>);
imagecopyresampled(</span><span>$thumb</span>, <span>$image</span>, 0, 0, 0, 0, <span>$thumb_width</span>, <span>$thumb_height</span>, <span>$width</span>, <span>$height</span><span>);
</span><span>//</span><span>保存原图</span>
imagejpeg(<span>$image</span>, <span>$dir</span> . '/' . <span>$_POST</span>['id'] . '.jpg', 100<span>);
</span><span>//</span><span>保存缩略图</span>
imagejpeg(<span>$thumb</span>, <span>$thumbdir</span> . '/' . <span>$_POST</span>['id'] . '.jpg', 100<span>);
imagedestroy(</span><span>$thumb</span>);%E6%88%91%E4%BB%AC%E8%AE%BE%E7%BD%AE%E7%BC%A9%E7%95%A5%E5%9B%BE%E7%9A%84%E9%95%BF%E5%BA%A6%E6%98%AF%E5%8E%9F%E6%9D%A5%E9%95%BF%E5%BA%A6%E7%9A%8410%%EF%BC%8C%E5%AE%BD%E5%BA%A6%E4%B9%9F%E6%98%AF%E5%8E%9F%E6%9D%A5%E5%AE%BD%E5%BA%A6%E7%9A%8410%%EF%BC%8C%E6%B3%A8%E6%84%8F%E4%BF%9D%E6%8C%81%E4%B8%80%E8%87%B4%EF%BC%8C%E5%90%A6%E5%88%99%E5%9B%BE%E7%89%87%E4%BC%9A%E5%87%BA%E7%8E%B0%E5%A4%B1%E7%9C%9F%EF%BC%8C%E5%BD%93%E7%84%B6%E8%BF%99%E4%B8%AA%E5%8F%82%E6%95%B0%E5%A6%82%E6%9E%9C%E8%AE%BE%E7%BD%AE%E6%88%90%E5%A4%A7%E4%BA%8E1%E7%9A%84%E6%95%B4%E6%95%B0%EF%BC%8C%E5%9B%BE%E7%89%87%E5%B0%B1%E4%BC%9A%E6%94%BE%E5%A4%A7%E3%80%82
%0A%C2%A0
%0A%0A%0A
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号