一开始我对PHP函数的丰富功能很兴奋,随着对越来越多近乎变态多的函数接触之后,突然联想到了ASP内置函数的稀少,要完成某项特殊功能,常须自定义函数,随着应用的在增多,自己居然也有了一套常用的函数库。然而现在在PHP中,这些功能早已被标准化、规范化而浓缩为内置函数直接使用,曾经的ASP开发人员成为了PHP的普通用户。
但转念一想,这些函数、这些大量PHP函数的存在,至少说明了PHP的更专业;同时,在我们日常PHP程序处理时应该是很快捷易用的吧,这让开发人员不再为些基础功能、细节功能而去自定义函数,把主要的精力集中在组建更强大的程序模块上。所以,我更加坚定了一看PHP函数到底的信念,不过我想在以后的开发过程中,PHP函数手册应该属于随身书了。
当然,关于ASP和PHP孰优孰劣的争论就无需多讨论,学习并了解能让自己了解真相。
言正传,PHP函数太多,防止遗忘,所以每次看完一类函数后我都做个总结和收集工作,方便起见就写篇日志。
1,数组的定义和初始化
什么是数组?数组是一种编程结构,它是一个存储一组或一系列数值的变量。
比如人口普查时对个人的身份登记,如姓名、性别、民族、出生等就可作为数组。
PHP中创建数组使用array()结构来定义,比如:
$people=array('name','sex','nation','brith');
而如何显示数组中的各元素的值,我们则是使用从0开始的索引,索引号在变量名称后的方括号中,比如:
<?php
$people=array('name','sex','nation','birth');
echo $people[2];
?>
输出的$people[2]就是显示的是nation(索引第一项从0计数)。
PHP除了支持数字索引数组以外,还支持相关数组。所谓相关数组,就是可自定义关键字来替换不直观的数字索引,比如:
<?php
$peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
echo $peoples['cs'];
?>
使用相关数组使得输出的选择很直观(不需要预先计算索引号然后输出),定义的关键字和值之间使用“=>”符号定义。
根据PHP数组元素的两种显示方式,还可以如变量一样无需array()声明和初始化,直接自动创建数字。比如
$people[0]='name';
$people[1]='sex';
$people[2]='nation';
$people[3]='brith';
或者
$peoples['xm']='name';
$peoples['xb']='sex';
$peoples['mz']='nation';
$peoples['cs']='birth';
该数组的大小根据所增加元素的多少动态的变化。
2,数组元素的显示
在如上使用的无论$people[2]也好,无论$peoples['cs']也好,都只是输出已知的明确位置的数组元素值,如何快速输出所有或部分的数组元素,使用循环语句无疑是最快的方法。
<?php
$people=array('name','sex','nation','birth');
for ($i=0;$i<4;$i++)
echo "$people[$i] ";
?>
除了使用了解循环次数的for循环以外,还可以使用对循环次数无须要求的foreach语句。
<?php
$people=array('name','sex','nation','birth');
foreach($people as $xiangmu)
echo $xiangmu;
?>
$xiangmu变量将保存数组中的各元素值,依次显示出来。当然,为了输出的数据能间隔区分,可在数组元素之后输出空格:
echo $xiangmu." ";
注:英文句号(.)可将字符串连接合并成新的字符串,参见亲密接触PHP之变量、常量学习笔记
用户认证的原理很简单:首先需要用户在页面上填入用户名和密码,当然没注册的用户需要先注册。然后调用数据库搜索是否有相应的用户。如果有就确认,没有则提醒用户先注册。使用PHP来完成这一切很简单,但需要注意的是如果想在以后的页面中都能确认用户身份,使用PHP3我只能想出使用cookie的方法。要想使用session,就只能等待PHP4正式版的发布了!
第一步是做一个登录的页面,这儿就不多讲了。我只做了个极简单的,大家可以做得漂亮点。
第二步开始登录后的确认程序的设计。
login.php:
mysql_connect("localhost","user","password")
/*连接数据库,用户名和密码自行修改*/
or die("无法连接数据库,请重试");
mysql_select_db("userinfo")
or die("无法选择数据库,请重试");
$today=date("Y-m-d H:i:s");
$query="
select id
from usertbl
where name=$name and password=$password
/*从数据库中搜索和登录用户相应的资料*/
";
$result=mysql_query($query);
$numrows=mysql_num_rows($result);
if($numrows==0){
/*验证是否能找出相同资料的用户,不能则未注册*/
echo 非法用户
echo 请注册先
echo 重试
}
else{
$row=mysql_fetch_array($result);
$id=$row[0];
$query="
update usertbl
set lastlogin=$today
where id=$id";
$result=mysql_query($query);
SetCookie("usercookie", "欢迎你,$name");
/*这里使用了cookie,以方便之后的页面认证。
但我未开发完这一块。希望有兴趣的朋友指正*/
echo 登录成功
echo 请进!
}
?>
第三步当然是做好注册的页面,也不多讲了。
第四步是注册后的身份确认和输入数据库。
register.php:
mysql_connect("localhost","user","password") /*请修改用户名和密码*/
or die("无法连接数据库,请重试");
mysql_select_db("userinfo")
or die("无法选择数据库,请重试");
$query="select id from usertbl where name=$name\";
/*从数据库中搜索相同名字的用户资料*/
$result=mysql_query($query);
$numrows=mysql_num_rows($result);
if($numrows!=0) /*找到了当然就是有人先注册了相同的名字*/
{echo 已有人注册此名,请重新选择名字!;}
else
{$query="insert into usertbl values(0,$name,$password,\)";
/*找不到相同的就输入新的用户资料*/
mysql_query($query);
echo 注册成功;
echo 请登录!;}
?>
if(!$usercookie)
{header("非法用户");
}
?>
welcome.php:
require("cookie.php"); /*调用cookie.php*/
?>
echo $usercookie;
?>
create table usertbl
(
ID int auto_increment primary key,
Name varchar(30),
Password varchar(20),
Lastlogin varchar(20)
);
如果你有大量的多媒体文件,想要寻找到某一特定文件可能并非易事。Windows Media Player 11可以让用户通过搜索唱片音轨、艺术家或其它标准轻松找到目标文件。例如,要查询Bob Dylan的“Like a Rolling Stone”,在搜索框中输入“Title:Rolling Stone”便会得到与该名称相似的搜索结果列表。
捕捉屏幕
Vista的捕获工具能够让抓捕全部或部分屏幕图片及添加注释变的易如反掌,点击“开始”——“所有程序”(或“经典开始”菜单中的“程序”)——“附件”——“捕获工具”(或直接在开始搜索框中输入“snip”然后按 “确定”键)。
当出现“捕获工具”窗口后,在想要捕获图像的周围拖动鼠标及点击“新建”按钮选择捕获的种类,用户可以捕获自由及矩形区域,抓捕活动窗口或整个屏幕。可以将图像保存到文件中,或点击“复制”按钮将其添加到剪贴板中以粘贴到其它程序中。如果是从网络上抓图,选择“选项”按钮可以协同URL地址一起抓捕,设置程序从剪贴板上复制抓图,然后执行其它操作。
使用Windows Media Player的快捷方式
如果你使用Windows Media Player 11来播放音乐,可以使用以下这些快捷方式替代鼠标的操作。
Vista最棒的新工具
新款Aero界面也许会吸引大众的绝大部分注意力,但是这款新Windows版本添加有若干一流的工具。以下列出的是我们喜欢的三款Vista新功能。
在“可靠性和性能监视器”可以全面观看计算机的运行健康状况。
Vista的ReadyBoost选项可以让用户使用USB闪存来提升系统的性能。
通过使用新“捕获工具(Snipping Tool)”程序中的选项可以让用户将屏幕捕捉变的更具创造性。
工作站:在XP和Vista中更改安全设置
优秀的安全性能应该让用户不会经常收到发现漏洞的提示。以面介绍的内容可以帮助保证用户计算机的安全,不用再看到频繁跳出的警告提示。
撤销帐户控制:毫无疑问,Vista最让人讨厌的是用户帐户控制(User Account Control,简称:UAC)功能,其在用户访问不同系统资源前都会跳出请求用户许可的窗口。当然这一设置会帮助保证用户计算机的安全性,但难道你真的想要在做很多事前允许完一个跳出窗口,马上又跳出另一个吗?哪怕是改变窗口主要字体这一小小的操作。
幸好,用户可以通过一种简单的方式关闭UAC,方法为:选择“开始”菜单中的“控制面板”(或“经典开始”菜单中的“开始”——“设置”——“控制面板”),在“用户帐户”中点击“打开或关闭用户帐户控制”,在UAC提示中选择“继续”,在下一个界面中,取消对“使用用户帐户控制(UAC)来帮助保护计算机”的勾选。然后点击“确定”,重启计算机后,你就再也不用为经常看到UAC跳出提示对话框而烦恼了。
增强命令提示功能:当通过Vista的命令提示运行某些命令时,会得到一个错误提示信息,指明由于用户没有正确的管理权限而无法运行该命令。这种现象甚至会发生在以管理员名义登录的情况下。
为了解决这一限制,你必须提升自己的权限。操作方法是点击“开始”——“所有应用程序”——“附件”(或“经典开始”菜单中的“开始”——“应用程序”——“附件”)右击“命令提示”然后选择“以管理员身份运行”,这时候命令提示会装载,但用户会在特殊管理员模式下进行操作,这点用户可以通过查看标题条是否以“管理员(Administrator)”开头进行确认。附加小贴士:用户可以通过按下“Ctrl+Shift+回车”并输入“cmd”以实现在不使用鼠标的情况下打开命令提示窗。
关闭文件删除提示:如果你曾有不经意删除系统文件的经历,那么UAC或许能派上用场。这一错误操作会引发两个跳出窗口:一个来自UAC和一个单独的文件删除确认框。为了保留UAC提示同时排除提示窗口,右击“回收站”,选择“属性”,取消对“显示删除确认对话框”的勾选,然后点击“确定”。
这样以后无论你想删除什么文件(包括系统文件或普通文件),用户都需要点击确认一个对话框。但是如果用户想要删除系统文件,仍会看到UAC提示(除非你用上面提到“撤销帐户控制”中的操作关闭UAC功能)。
向Vista“迁移”
我们推荐用户进行全新Vista安装,但同时也考虑到了很多用户会选择从XP升级至Vista,以避免需重新安装其应用程序、文件及设置。在大多数情况下,从XP升级至Vista并不需要做额外的准备,但是我们仍推荐用户对文件进行备份以避免意外的发生。
升级安装就是在XP上直接安装Vista,同时会保留用户所有的应用程序、文件、用户帐户和其它设置。为了保险起见,在做覆盖安装前,最好备份所有的文件,以免意外发生。相反,进行全部安装,当全新的Vista安装完成后,会删除XP系统及用户原来应用程序、文件、设置及帐户的所有信息,删除用户硬盘上的全部文件(包含系统积累的所有带问题的注册条目)。Vista版本的XP文件和设置转移工具(Files and Settings Transfer Wizard)Windows Easy Transfer可以让用户将设置、文件和应用程序通过数据线或网络移到新安装的Vista操作系统中。
并非每种XP版本都能够升级至不同版本的Vista操作系统,这也是为什么我们更推荐让用户进行全部Vista安装而非在原系统上进行升级的原因。例如,从XP专业版升级至XP家庭高级版(Vista Home Premium)需要进行全部安装,在微软网站上用户可以找到XP和Windows 2000的升级选项。
个性化:更改Vista的默认设置
也许在安装Vista时你并不会赞同Vista对界面和运行方式所做的每一设置。下面介绍的便是大部分Vista用户在安装完新版本系统后,最想马上进行个性化设置的五个方面。
自定义桌面:几乎Vista桌面的所有方面调整起来都非常简单。在桌面上右击鼠标选择“属性”可以改变背景、屏幕保护程序、声音和鼠标指针。用户还可以设定一个主题,更改显示器的分辨率或图标及字体。如果使用Vista的Aero界面,用户还可以在“Windows色彩和外观”中指定颜色或点击显示色彩混合器来自定义颜色来个性化Windows窗口的色彩。
“开始”菜单重设计:右击“开始”按钮然后选择“属性”——“开始菜单”,想要恢复其Windows 98或2000中的面貌,选择“经典开始”菜单。更改Vista中“开始”菜单的方法是:将其选中并点击“个性化”,然后就可以选择自己想要列入“开始”菜单中的条目,改变子菜单中的选择方法及在其它设置中重新设置搜索选项。点击“任务栏”标签可以更改任务栏的外形,选择“通知区域”标签可以对系统托盘进行相同的操作。
查看所有的文件及文件夹:在默认设置下Vista会隐藏系统文件和文件夹,并且不会显示普通文件类型的扩展名。这样使用户很难对自己系统上的文件有个确切的了解。想要对全景一览无余吗?操作方法为:打开Windows资源管理器或任意文件夹窗口中,选择“组织(Organize)”——“文件夹及搜索选项”,查看更改系统提供的文件显示选项及显示方式,例如,用户可以选择哪些文件以小图标显示,及是否显示驱动盘盘符,选中“显示隐藏文件和文件夹”,然后去掉对“已知文件类型隐藏扩展名”的勾选。
重新设置默认的应用程序:Vista很可能会使用微软应用程序来完成浏览、电子邮件和其它应用程序操作(根据PC供应商对计算机的配置方案,或用户是否是从Windows XP升级而来)。Vista具有的一项引人注目的新功能就是可以一次性更改整个组的默认应用程序。点击“开始”菜单中的“默认程序”(或在“经典开始”菜单中选择“开始”——“设置”——“控制面板”——“默认应用程序”),在“默认应用程序”中选择“设置程序读取和计算机默认选项”功能,在配置列表中选择“Microsoft Windows”从而可以将微软软件作为默认应用程序。也就是说IE会用来实现浏览、Windows Mail或Outlook会用于处理电子邮件、Windows Media Player会用来打开音频或视频文件等等。如果你有更想使用的其它厂商的软件,则可以选择“Non-Microsoft”。如果你想从计算机上现存的微软或非微软应用程序中进行挑选,选择“自定义”然后单个挑选自己喜欢的应用程序。
“解雇”工具条:一些用户喜欢Vista桌面上的“工具条(Sidebar)”迷你应用程序,但对其他用户来说可能毫无意义。想要“解雇”它们,在系统托盘“工具条”图标上右击鼠标,选择“属性”,取消对“当Windows启动时打开工工具条”选项的勾选即可。