PHP新手上路(十四)

其他杂项 13.1 生成图像
PHP可以操作处理图像。如果你已经安装了GD库,你甚至可以利用PHP生成图像。
? Header(“Content-type: image/gif”); $string=implode($argv,” “); $im =
imagecreatefromgif(“images/button1.gif”); $orange =
ImageColorAllocate($im, 220, 210, 60); $px =
(imagesx($im)-7.5*strlen($string))/2;
ImageString($im,3,$px,9,$string,$orange); ImageGif($im);
ImageDestroy($im); ? 这段代码在其他页面中通过以下标记img
src=”button.php3?text”调用,然后以上的那段button.php3代码取得text值并在另外取得的图像文件中加上该值–在以上的代码中该图像文件是images/button1.gif–最后输出到浏览器。假如你想在表单域中使用图像按钮,但是又不希望在每次按钮上的文字改变后不得不重新生成新的图像,就可以利用这样简单的方法动态生成图像文件。
13.2 Cookies
PHP支持基于HTTP的cookies。在需要时你可以像使用一般变量一样方便的使用cookie。Cookies是浏览器保存于客户端的一些信息片段,由此你可以知道是否一台特定PC上的任何人都访问过你的站点,浏览者者在你的站点上的踪迹等等。使用cookies的典型例子就是对浏览者偏好的甄别。Cookies由函数setcookie()设定。与输出HTTP标头的函数header()一样,setcookie()必须在任何实际内容杯输出到浏览器之前调用。以下是一个简单例子:
? if (empty($VisitedBefore)){ //
如果没有设定cookie,为cookie赋上当前时间值 //
函数中的最后一个参数声明了该cookie保存的时间 // 在这个例子中是1年 //
time()函数返回自1970年1月1日以来的以秒数计的时间
SetCookie(“VisitedBefore”,time(), time()+(60*60*24*365)); }else{ //
欢迎浏览者再次光临 echo “Hello there, welcome backBR”;//
读取cookie并判断 if ( (time() – $VisitedBefore) = “(60*60*澳门新葡亰3522平台游戏,24*7)”
)echo “Why did you take a week to come back. You should be here more
often!? “;}? 13.3 常用函数 我们简单来看看一些常用的函数。 数组 array –
生成数组count – 数组元素个数sort –
数组排序,另有其他几种排序函数可供使用list – 列出数组元素each –
返回下一个key/value对current – 返回当前数组元素next,prev –
传回当前数组元素前后指针日期和时间 checkdate – 验证日期/时间格式date –
生成日期/时间格式time – 当前时间信息strftime –
格式化日期/时间目录、文件系统 chdir – 改变目录dir – 目录类别opendir,
readdir, closedir – 开启、读取、关闭目录fopen, fclose –
开启、关闭文件fgets, fgetss – 逐行读取内容file –
将整个文件读入一个数组变量中正则表达式 ereg – 匹配正则表达式eregi –
大小写非敏感匹配正则表达式ereg_replace
-匹配正则表达式并替换eregi_replace
-大小写非敏感匹配正则表达式并替换split –
依规则切开字符串并以数组形势存储 字符串 AddSlashes –
加上斜杠后使用字符串echo – 输出一个或多个字符串join, implode –
将数组元素合并为字符串htmlentities, htmlspecialchars –
将HTML特殊字符转换为HTML标记形式split –
依规则切开字符串并以数组形势存储13.4 扩展我们的范例主页
我们将使用以上提到的一些函数和思想为我们的范例主页添加更多的动态内容。我们可以在每个页面的顶部加上导航栏,同时使得当前页自动的不被链接显示;同时还可以添加一个用户验证表单以便上传音乐、图像等文件并自动更新页面。
导航栏
实际上就是在footer.inc文件中加上一段代码。假设你的web站点中所有后缀为.php3的文件都会出现在导航栏中,以下就是被存为include/navbar.inc的代码:
? /* 输出该导航栏,链接所有除当前页的站内.php3文件 */ #