仓酷云

标题: PHP教程之可定制的PHP缩略图生成程式(需求GD库支... [打印本页]

作者: 变相怪杰    时间: 2015-2-4 00:11
标题: PHP教程之可定制的PHP缩略图生成程式(需求GD库支...
如果不会怎么办,我的视频教程里有个最简单的留言板 最开始离不开模仿,缩略图   经典的PHP缩略图生成程式,基于GD库,可指定生成途径及生成方针的宽高细节

利用办法: 在撑持GD库的PHP情况中,将以下代码另存为resize.php测试


<?

$FILENAME
="image_name";

// 生成图片的宽度
$RESIZEWIDTH=400;

// 生成图片的高度
$RESIZEHEIGHT=400;

//生成图片的途径
$uploaddir="c:/winnt/temp";

function
ResizeImage($im,$maxwidth,$maxheight,$name){
global
$uploaddir;
$width = imagesx($im);
$height = imagesy($im);
if((
$maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
if(
$maxwidth && $width > $maxwidth){
$widthratio = $maxwidth/$width;
$RESIZEWIDTH=true;
}
if(
$maxheight && $height > $maxheight){
$heightratio = $maxheight/$height;
$RESIZEHEIGHT=true;
}
if(
$RESIZEWIDTH && $RESIZEHEIGHT){
if(
$widthratio < $heightratio){
$ratio = $widthratio;
}else{
$ratio = $heightratio;
}
}elseif(
$RESIZEWIDTH){
$ratio = $widthratio;
}elseif(
$RESIZEHEIGHT){
$ratio = $heightratio;
}
$newwidth = $width * $ratio;
$newheight = $height * $ratio;
if(
function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight);
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
ImageJpeg ($newim,$uploaddir.$name . ".jpg");
ImageDestroy ($newim);
}else{
ImageJpeg ($im,$uploaddir.$name . ".jpg");
}
}



if(
$_FILES['image']['size']){
if(
$_FILES['image']['type'] == "image/pjpeg"){
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
}elseif(
$_FILES['image']['type'] == "image/x-png"){
$im = imagecreatefrompng($_FILES['image']['tmp_name']);
}elseif(
$_FILES['image']['type'] == "image/gif"){
$im = imagecreatefromgif($_FILES['image']['tmp_name']);
}
if(
$im){
if(
file_exists("$FILENAME.jpg")){
unlink("$FILENAME.jpg");
}
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
ImageDestroy ($im);
}
}
?>

<img src="<? echo($FILENAME.".jpg?reload=".rand(0,999999)); ?>"><br><br>

<form enctype="multipart/form-data" method="post">
<br>
<input type="file" name="image" size="50" value="阅读"><p>
<input type="submit" value="上传图片">
</form>

</body>
</html>

理解网站这一概念之后不难看出,任何网站都是由网页组成的,也就是说想完成网站,必须先学会做网页,因此必须要掌握了HTML,才能为今后制作网站打下基础。
作者: 乐观    时间: 2015-2-4 08:01
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 小女巫    时间: 2015-2-9 19:34
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 飘飘悠悠    时间: 2015-2-10 07:03
兴趣是最好的老师,百度是最好的词典。
作者: 冷月葬花魂    时间: 2015-2-23 09:33
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 仓酷云    时间: 2015-3-6 17:35
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 透明    时间: 2015-3-6 18:59
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 再现理想    时间: 2015-3-13 06:07
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: admin    时间: 2015-3-18 02:10
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 金色的骷髅    时间: 2015-3-24 10:23
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
作者: 不帅    时间: 2015-3-25 10:29
爱上php,他也会爱上你。
作者: 飘灵儿    时间: 2015-3-26 15:45
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
作者: 山那边是海    时间: 2015-4-5 04:21
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
作者: 海妖    时间: 2015-4-14 12:05
实践是检验自己会不会的真理。
作者: 因胸联盟    时间: 2015-4-19 06:55
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 谁可相欹    时间: 2015-4-19 18:53
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 爱飞    时间: 2015-4-23 03:01
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 莫相离    时间: 2015-4-27 15:12
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 深爱那片海    时间: 2015-5-1 06:54
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 柔情似水    时间: 2015-5-4 14:41
实践是检验自己会不会的真理。
作者: 只想知道    时间: 2015-6-26 14:02
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2