其他功能

2016-01-29 15:11 2 1 收藏

其他功能,其他功能

【 tulaoshi.com - 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="http://img.jcwcn.com/attachment/portal/jcwcj/2005-12/10/05121010100350622.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 buttonn";
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以上。以下就是该功能的简单演示:
( upload.html ):
<HTML
<HEAD
<TITLEUpload Your File</TITLE
</HEAD
<BODY
<FORM ACTION="receiver.php3"
ENCTYPE="multipart/form-data" METHOD=POST
<INPUT TYPE="HIDDEN"
NAME="MAX_FILE_SIZE" VALUE="2000000"
<INPUT TYPE="FILE"
NAME="uploadfile" SIZE="24" MAXLENGTH="80"
<BR<BR
<INPUT TYPE="SUBMIT" VALUE="Upload File!"
NAME="sendit"
<INPUT TYPE="SUBMIT" VALUE="Cancel"
NAME="cancelit"<BR
</FORM
<I<FONT SIZE="2"(You may notice a slight
delay while we upload your file.)</FONT</I
</BODY
</HTML

下面是处理上传的文件:
( receiver.php3 ):
<?
function do_upload ()
{
global $uploadfile, $uploadfile_size;
globa

来源:https://www.tulaoshi.com/n/20160129/1495430.html

延伸阅读
  ■ 其他标记 <MARQUEE <BLINK <ISINDEX <META <LINK 欲明白本篇【HTML彻底剖析】之标记分类,请看 【标记一览】。 也请先明白围堵标记与空标记的分别,请看 【HTML概念】。 ■ <MARQUEE: <MARQUEE 只适用于 IE ,叫做"跑马灯" 如 Status Bar 的那种,意指走动或卷动的文字,其参...
标签: 办公软件
    MS Word作为常用的办公软件已经被大家熟识,实际上它除了能够完成图文处理工作以外,还有其它的妙用。 一、查看程序代码 任务栏中的“显示桌面”按钮想必大家都用过,想不想知道响应这个按钮的代码呢?其实很简单,将这个按钮拖曳到Word的滚动条上,然后释放鼠标,按钮的代码就会在Word中显示出来了。需要注意的是...
标签: 电脑入门
在进行演示文档的制作时,需要用到以前制作的文档中的幻灯片或要调用其他可以利用的幻灯片,如果能够快速复制到当前的幻灯片中,将会给工作带来极大的便利。按一下步骤,其他文档中的幻灯片就为我们所用了,如何来快速调用其他PPT文件呢,下面我们就来介绍操作步骤: 步骤一、 单击插入菜单下的幻灯片(从文件)命令; 步骤二、在弹出的幻灯...
标签: Web开发
anchors[]; links[]; Link 连接对象 用法:document.anchors[[x]]; document.links[[x]]; anchorId; linkId document.anchors 是一个数组,包含了文档中所有锚标记(包含 name 属性的a标记),按照在文档中的次序,从 0 开始给每个锚标记定义了一个下标。 document.links&nb...
《生化尖兵》其他重要攻击 1.打物攻击 :先按Y将地上的物体打到半空,然后按A跳起来,再按B可以把物体打出很远用来砸敌人。这招是游戏初期经常使用的招式,可以远距离偷袭敌人。   2.下落攻击 :从高处下落时连点Y,落地时就可以发出砸地地震波。此招对付机器人很有效,被机器人围攻时可以找高点上去,然后跳下来对机器人使用...

经验教程

903

收藏

52
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部