PHP网页设计PHP剧本的10个技能(转自ZDNet) --静态...
咱们就开始学习动态语言的概念吧,刚一接触动态语言,可能很多人都会蒙了,怎么这乱七八糟的东西,在网页里显示的时候却是另外一码事?其实这并不算乱七八糟,你写的HTML代码不也一样是一堆堆的字符吗?毕竟,代码并不是作为直接输出的,而是经过处理的,说白了,HTML是经过HTML解析器,而PHP当然也就通过PHP解析器了,跟学习HTML一样的道理,想让任何的解析器完成操作,就必须使用它们专用的语法结构,所以PHP长相奇怪也就不足为奇了。创立|静态|技能|剧本 静态创立图像在装置了某些第三方函数库以后,联合你的图形处置妙技,你就能够用PHP创立和处置图象了。现实上,你也不需求太高的几何学常识。我在中学的时分这门作业老是不合格,如今不也照样会用PHP创立图象!
在利用根基的图象创立函数之前,你需求装置GD库。假如要用到和JPEG相干的图象创立函数你还需求装置jpeg-6b。在图象中利用Type 1字体的时分还必需装置t1lib。
在这里,你还需求对你的体系停止进一步地调剂。起首,你必需装置t1lib以供应图像处置撑持,接上去要装置jpeg-6b。第三步是装置GD函数库。你得按按次做完这三件任务,缘由是你需求编译GD库才干利用jpeg-6b库,假如jpeg-6b步起首装置,编译就会失足,到那时分你就是忙的团团转也没举措了。
在装置完以上的三个函数库以后,你还要从头设置装备摆设PHP。这可是你在装置PHP的DSO版本时的拿手好戏噢!接着履行make clean,号令,然后在以后设置装备摆设唆使符里到场以下代码:
--with-gd=
--with-jpeg-dir=
--with-t1lib=
最初按次履行make、make install号令完成配制义务。从头启动 Apache,运转phpinfo()函数反省性新功效是不是正常运转。
和你装置的GD库有关,你能够或不成能具有创立GIF或PNG图象的才能。关头在于:假如你已装置了gd-1.6或初期版本,那末你可以处置GIF但不克不及处置PNG。假如装置了gd-1.6或今后版本,你可以处置PNG但又不克不及处置GIF。
创立一个复杂的图象需求采取好几个函数。我会按步调带你进修这一进程:
输入一个文件头,个中包括了你所创立图象的MIME类型,在咱们的例子中就是PNG。
<? header ("Content-type: image/png");
利用ImageCreate()创立一个变量寄存空白图象。该函数需求以像素为单元的图象巨细。格局是ImageCreate(x_size, y_size),对250-X-250像素的图象而言,用法以下:
$newImg = ImageCreate(250,250);
由于你的图象如今仍是空白,所以你还要想法用某些色采填满它,然而,起首你需求依照色彩的RGB值为每种色彩分派名字,这要用到ImageColorAllocate()函数。函数的格局是ImageColorAllocate(, , , )。假如是天蓝色,详细代码以下:
$skyblue = ImageColorAllocate($newImg,136,193,255);
接着,你需求挪用ImageFill()函数为图象填充以上的色彩。ImageFill(),函数有好几个版本,好比ImageFillRectangle(), ImageFillPolygon()等等。为复杂起见,咱们就采取ImageFill()函数停止色彩填充,格局以下:
ImageFill(, , , )
ImageFill($newImg,0,0,$skyblue);
最初,你创立了图象并损坏图象流以释放内存:
ImagePNG($newImg);
ImageDestroy($newImg); ?>
详细的代码看起来很像上面的模样:
<? header ("Content-type: image/png");
$newImg = ImageCreate(250,250);
$skyblue = ImageColorAllocate($newImg,136,193,255);
ImageFill($newImg,0,0,$skyblue);
ImagePNG($newImg);
ImageDestroy($newImg);
?>
假如你挪用这个剧本skyblue.php 并用本人的阅读器会见它,你就会看到一个250-X-250像素大的蓝色PNG图象。
你还可以用图象创立函数处置图象,好比创立大型图象的缩微图等。
假定你盘算为某个图片制造一个35-X-35像素巨细的缩微图。你要做到就是创立一个新的35 X 35 像素巨细的图象;制作出一个包括其原始图象内容的图象流;然后改动原始图象的巨细,并把它放到新的空白图象中去。
用来到达以上目标的关头函数就是ImageCopyResized(),,该函数的格局以下所示:ImageCopyResized(,,, , , , , , , );
以下是代码正文。
<? /* send a header so that the browser knows the content-type of the file */
header("Content-type: image/png");
/* set up variables to hold the height and width of your new image */
$newWidth = 35;
$newHeight = 35;
/* create a blank, new image of the given new height and width */
$newImg = ImageCreate($newWidth,$newHeight);
/* get the data from the original, large image */
$origImg = ImageCreateFromPNG("test.png");
/* copy the resized image. Use the ImageSX() and ImageSY functions to get the x and y sizes of the orginal image. */
ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));
/* create final image and free up the memory */
ImagePNG($newImg);
ImageDestroy($newImg); ?>
假如你挪用了以上剧本resized.php 并用本人的阅读器会见它,你应当能看到一个35-X-35像素巨细的缩微PNG图。
怎么配置呢 ,问最好的老实百度,问啥都有答案。所以用好搜索引擎是学好的令1个关键,程序会出各样的问题,没有1个人可能会碰到所有的问题,所有就可以问百度这个大家精华的集合了。 找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。 基础有没有对学习php没有太大区别,关键是兴趣。 学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql 实践是检验自己会不会的真理。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域, 刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。 有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。 写的比较杂,因为我也是个新手,不当至于大家多多指正。 作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。 我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。 先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。 个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
页:
[1]