首页 | 网页教程 | 网站模板 | 网页特效 | 矢量图库 | 字体下载 | ASP源码下载 | 酷站欣赏 | FLASH源码 | 有求必应
网页教程导航
·photoshop教程
·flash教程
·asp教程
·fireworks教程
·dreamweaver教程
·搜索引擎
·html/css教程
·3dmax教程
·java教程
·php教程
·FrontPage教程
 
 
 
首页 >> 网页教程 >> php教程 >> 正文
PHP新手上路:5.PHP的其他功能
 责任编辑:川北素材网 添加日期:08-04-17 17:37:26 浏览:
5. 其他杂项
5.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);

?>

(译者注:以上代码段缺少注释,请读者参考PHP Manual的图像处理函数部分)

这段代码在其他页面中通过以下标记<img src="button.php3?text">调用,然后以上的那段button.php3代码取得text值并在另外取得的图像文件中加上该值--在以上的代码中该图像文件是images/button1.gif--最后输出到浏览器。假如你想在表单域中使用图像按钮,但是又不希望在每次按钮上的文字改变后不得不重新生成新的图像,就可以利用这样简单的方法动态生成图像文件。


5.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 back<BR>";

// 读取cookie并判断

if ( (time() - $VisitedBefore) >= "(60*60*24*7)" )

echo "Why did you take a week to come back. You should be here more often!?
";

}

?>


5.3 基于HTTP验证


基于HTTP验证当PHP以CGI模式运行时不能实现。我们可以使用函数header()发送HTTP标头强制验证,客户端浏览器则弹出供输入用户名和密码的对话框。这两个变量被储存在$PHP_AUTH_USER和$PHP_AUTH_PW中,你可以使用这两个变量验证合法并允许进入。以下的例子通过用户名称/密码对为tnc/nature的验证一名用户的登录:

<?

if(!isset($PHP_AUTH_USER))

{

Header("WWW-Authenticate: Basic realm=\"My Realm\"");

Header("HTTP/1.0 401 Unauthorized");

echo "Text to send if user hits Cancel button\n";

exit;

}

else

{

if ( !($PHP_AUTH_USER=="tnc" && $PHP_AUTH_PW=="nature")
)

{

// 如果是错误的用户名称/密码对,强制再验证

Header("WWW-Authenticate: Basic realm=\"My Realm\"");

Header("HTTP/1.0 401 Unauthorized");

echo "ERROR : $PHP_AUTH_USER/$PHP_AUTH_PW is invalid.";

exit;

}

else

{

echo "Welcome tnc!";

}

?>

事实上再实际引用中不大可能如上面使用代码段明显的用户名称/密码对,而是利用数据库或者加密的密码文件存取它们。


5.4 文件上传


你可以利用PHP实现文件的功能,注意客户端的浏览器应该是Netscape3以上或者IE3以上。

9 7 3 1 2 3 4 4 8 :
打印本页 | 加入收藏
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登陆
版权所有:川北素材 为广大站长提供素材支持,业务联系QQ:9987142
Copyright © 2008 www.chuanbei.net All Rights Reserved.