PHP教程:一些相关常用PHP实例


还是继续前面的PHP教程,继续来学习。先看前面的:PHP程序如何数据库连接

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!";
}
?>
事实上再实际引用中不大可能如上面使用代码段明显的用户名称/密码对,而是利用数据库或者加密的密码文件存取它们。



相关阅读:
asp.net 读取并显示excel数据的实现代码
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
JSP在Linux下的安装
从gb到utf-8" target="_blank">从gb到utf-8
Ajax应用研究-注册应用
event.srcElement 用法笔记e.target
和php有关的几种常见安全详细解析
定位后无法选择容器内容解决方案
Ubuntu Linux系统下设置shorewall防火墙
Javascript 同时提交多个Web表单的方法
NBear V3.3.6使用感受
ASP.NET 2.0中多页面表单的使用
php简单提示框alert封装函数
超简单的jquery的AJAX用法
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 发生在你身上的一件有趣的事 小学四年级作文400字:爱是最真的 勇斗吃人鳄 生活需要……作文600字 中国的汶川,世界的汶川 夏末的雨2.5 2015远程教育学习总结 酒筵上答张居士 遍地开花作文800字 小学五年级作文800字:致四川汶川县地震灾区朋友的一封信 我们那些兄弟会一直祝福你 梅艳芳:演绎光辉永恒 自勉与君共勉作文500字 你耕织田园我仗剑天涯 女孩子写给男朋友的感人情书 那位快被我遗忘的人 爱的菩提 流水依旧 永不倒下的“门神” 优秀班集体代表获奖感言 《精彩人生路 法律伴我行》演讲稿 采购工作人员工作总结 愿你一切安好作文1600字 明清江南商品经济与消费结构关系探析 身边的榜样作文900字 副秘书长在省农业普查领导小组第一次全体会议上的主持词 伤感原创日志推荐:爱走了,不安不再了 千里寻人针 小学五年级作文500字:教师节(日记) 黄伟文写给王菲的歌词 阿房宫赋 冰雕的心事 行风建设工作汇报(供电) 急诊科护士长述职报告范文 山中交友 青春的烦恼作文700字 遇见最初的自己 遗失,在时光中遗弃 三峡坝区观感 市容局工会2006年工作总结及2007年工作要点 重温入党誓词党课材料(31) 非转农申请书怎么写 有关猴子爬树歇后语 广电局上半年重点工作总结 小学五年级作文750字:我想发明多功能文具盒 2月13日 科学家故事100个读后感4篇 不满的日子 依儿,红颜知己! 一棵小树650字

Copyright © 2016 phpStudy |