其他功能

夏奈香

夏奈香

2016-01-29 15:11

其他功能,其他功能
  转自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
展开更多 50%)
分享

猜你喜欢

其他功能

PHP
其他功能

photoshop滤镜之其他功能介绍

PS
photoshop滤镜之其他功能介绍

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

5.PHP的其他功能

Web开发
5.PHP的其他功能

酷我音乐歌词服务与其他功能服务

电脑网络
酷我音乐歌词服务与其他功能服务

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

世界之窗浏览器其他标签功能及设置

浏览器
世界之窗浏览器其他标签功能及设置

其他胎教法

电脑网络
其他胎教法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《刀塔传奇》满级玩家心得技巧 80及是一道坎

《刀塔传奇》满级玩家心得技巧 80及是一道坎

php的header和asp中的redirect比较

php的header和asp中的redirect比较
下拉加载更多内容 ↓