PHP高级教程Word下载.docx
- 文档编号:21454578
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:43
- 大小:34.26KB
PHP高级教程Word下载.docx
《PHP高级教程Word下载.docx》由会员分享,可在线阅读,更多相关《PHP高级教程Word下载.docx(43页珍藏版)》请在冰豆网上搜索。
echodate("
Y/m/d"
);
echo"
br/>
"
;
Y.m.d"
Y-m-d"
>
以上代码的输出类似这样:
2006/07/11
2006.07.11
2006-07-11
PHP日期-添加时间戳
date()函数的第二个参数规定了一个时间戳。
此参数是可选的。
如果您没有提供时间戳,当前的时间将被使用。
在我们的例子中,我们将使用mktime()函数为明天创建一个时间戳。
mktime()函数可为指定的日期返回Unix时间戳。
mktime(hour,minute,second,month,day,year,is_dst)
如需获得某一天的时间戳,我们只要设置mktime()函数的day参数就可以了:
$tomorrow=mktime(0,0,0,date("
m"
),date("
d"
)+1,date("
Y"
));
Tomorrowis"
.date("
$tomorrow);
明天是2006/07/12
PHP引用文件
服务器端引用(SSI)用于创建可在多个页面重复使用的函数、页眉、页脚或元素。
服务器端引用(ServerSideIncludes)
通过include()或require()函数,您可以在服务器执行PHP文件之前在该文件中插入一个文件的内容。
除了它们处理错误的方式不同之外,这两个函数在其他方面都是相同的。
include()函数会生成一个警告(但是脚本会继续执行),而require()函数会生成一个致命错误(fatalerror)(在错误发生后脚本会停止执行)。
这两个函数用于创建可在多个页面重复使用的函数、页眉、页脚或元素。
这会为开发者节省大量的时间。
这意味着您可以创建供所有网页引用的标准页眉或菜单文件。
当页眉需要更新时,您只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)。
include()函数
include()函数可获得指定文件中的所有文本,并把文本拷贝到使用include函数的文件中。
例子1
假设您拥有一个标准的页眉文件,名为"
header.php"
。
如需在页面中引用这个页眉文件,请使用include()函数,就像这样:
html>
body>
phpinclude("
?
h1>
Welcometomyhomepage<
/h1>
p>
Sometext<
/p>
/body>
/html>
例子2
现在,假设我们有一个在所有页面上使用的标准菜单文件。
请看下面这个"
menu.php"
:
ahref="
|
Us<
/a>
|
三个文件,"
default.php"
about.php"
以及"
contact.php"
都引用了"
文件。
这是"
中的代码:
如果您在浏览器中查看"
的源代码,应该类似这样:
Home<
AboutUs<
ContactUs<
同时,当然,我们也将用相同的方法处理"
和"
通过使用引用文件,在您需要重命名链接、更改链接顺序或向站点添加另一张网页时,只要简单地更新"
文件中的文本即可。
require()函数
require()函数与include()相同,不同的是它对错误的处理方式。
如果在您通过include()引用文件时发生了错误,会得到类似下面这样的错误消息:
PHP代码:
include("
wrongFile.php"
HelloWorld!
错误消息:
Warning:
include(wrongFile.php)[function.include]:
failedtoopenstream:
NosuchfileordirectoryinC:
\home\website\test.phponline5
include()[function.include]:
Failedopening'
wrongFile.php'
forinclusion
(include_path='
.;
C:
\php5\pear'
)
inC:
请注意,echo语句依然被执行了!
这是因为警告不会中止脚本的执行。
现在,让我们使用require()函数运行相同的例子。
require("
require(wrongFile.php)[function.require]:
Fatalerror:
require()[function.require]:
Failedopeningrequired'
由于在致命错误发生后终止了脚本的执行,因此echo语句不会执行。
正因为在文件不存在或被重命名后脚本不会继续执行,因此我们推荐使用require()而不是include()。
PHP文件处理
fopen()函数用于在PHP中打开文件。
打开文件
此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:
$file=fopen("
welcome.txt"
"
r"
文件可能通过下列模式来打开:
模式
r
只读。
在文件的开头开始。
r+
读/写。
w
只写。
打开并清空文件的内容;
如果文件不存在,则创建新文件。
w+
a
追加。
打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+
读/追加。
通过向文件末端写内容,来保持文件内容。
x
创建新文件。
如果文件以存在,则返回FALSE。
x+
如果文件已存在,则返回FALSE和一个错误。
注释:
如果fopen()无法打开指定文件,则返回0(false)。
例子
如果fopen()不能打开指定的文件,下面的例子会生成一段消息:
)orexit("
Unabletoopenfile!
关闭文件
fclose()函数用于关闭打开的文件。
$file=fopen("
test.txt"
//somecodetobeexecuted
fclose($file);
检测End-of-file
feof()函数检测是否已达到文件的末端(EOF)。
在循环遍历未知长度的数据时,feof()函数很有用。
在w、a以及x模式,您无法读取打开的文件!
if(feof($file))echo"
Endoffile"
逐行读取文件
fgets()函数用于从文件中逐行读取文件。
在调用该函数之后,文件指针会移动到下一行。
下面的例子逐行读取文件,直到文件末端为止:
"
//Outputalineofthefileuntiltheendisreached
while(!
feof($file))
{
echofgets($file)."
}
逐字符读取文件
fgetc()函数用于从文件逐字符地读取文件。
在调用该函数之后,文件指针会移动到下一个字符。
下面的例子逐字符地读取文件,直到文件末端为止:
while(!
feof($file))
{
echofgetc($file);
PHP文件上传
通过PHP,可以把文件上传到服务器。
创建一个文件上传表单
允许用户从表单上传文件是非常有用的。
请看下面这个供上传文件的HTML表单:
formaction="
upload_file.php"
method="
post"
enctype="
multipart/form-data"
labelfor="
file"
Filename:
/label>
inputtype="
name="
id="
/>
submit"
value="
Submit"
/form>
请留意如下有关此表单的信息:
form>
标签的enctype属性规定了在提交表单时要使用哪种内容类型。
在表单需要二进制数据时,比如文件内容,请使用"
input>
标签的type="
属性规定了应该把输入作为文件来处理。
举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
允许用户上传文件是一个巨大的安全风险。
请仅仅允许可信的用户执行文件上传操作。
创建上传脚本
文件含有供上传文件的代码:
if($_FILES["
]["
error"
]>
0)
echo"
Error:
"
.$_FILES["
]."
else
Upload:
name"
Type:
type"
Size:
.($_FILES["
size"
]/1024)."
Kb<
Storedin:
tmp_name"
];
通过使用PHP的全局数组$_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的inputname,第二个下标可以是"
或"
就像这样:
∙$_FILES["
]-被上传文件的名称
]-被上传文件的类型
]-被上传文件的大小,以字节计
]-存储在服务器的文件的临时副本的名称
]-由文件上传导致的错误代码
这是一种非常简单文件上传方式。
基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。
上传限制
在这个脚本中,我们增加了对文件上传的限制。
用户只能上传.gif或.jpeg文件,文件大小必须小于20kb:
if((($_FILES["
]=="
image/gif"
||($_FILES["
image/jpeg"
image/pjpeg"
))
&
($_FILES["
]<
20000))
if($_FILES["
else
Invalidfile"
对于IE,识别jpg文件的类型必须是pjpeg,对于FireFox,必须是jpeg。
保存被上传的文件
上面的例子在服务器的PHP临时文件夹创建了一个被上传文件的临时副本。
这个临时的复制文件会在脚本结束时消失。
要保存被上传的文件,我们需要把它拷贝到另外的位置:
ReturnCode:
Tempfile:
if(file_exists("
upload/"
]))
echo$_FILES["
alreadyexists."
move_uploaded_file($_FILES["
],
]);
."
上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。
这个例子把文件保存到了名为"
upload"
的新文件夹。
PHPCookies
cookie常用于识别用户。
什么是Cookie?
cookie是服务器留在用户计算机中的小文件。
每当相同的计算机通过浏览器请求页面时,它同时会发送cookie。
通过PHP,您能够创建并取回cookie的值。
如何创建cookie?
setcookie()函数用于设置cookie。
setcookie()函数必须位于<
标签之前。
setcookie(name,value,expire,path,domain);
在下面的例子中,我们将创建名为"
user"
的cookie,把为它赋值"
AlexPorter"
我们也规定了此cookie在一小时后过期:
php
setcookie("
time()+3600);
在发送cookie时,cookie的值会自动进行URL编码,在取回时进行自动解码(为防止URL编码,请使用setrawcookie()取而代之)。
如何取回Cookie的值?
PHP的$_COOKIE变量用于取回cookie的值。
在下面的例子中,我们取回了名为"
的cookie的值,并把它显示在了页面上:
//Printacookie
echo$_COOKIE["
//Awaytoviewallcookies
print_r($_COOKIE);
在下面的例子中,我们使用isset()函数来确认是否已设置了cookie:
if(isset($_COOKIE["
Welcome"
.$_COOKIE["
!
Welcomeguest!
如何删除cookie?
当删除cookie时,您应当使过期日期变更为过去的时间点。
删除的例子:
//settheexpirationdatetoonehourago
time()-3600);
如果浏览器不支持cookie该怎么办?
如果您的应用程序涉及不支持cookie的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。
一种方式是从表单传递数据(有关表单和用户输入的内容,稍早前我们已经在本教程中介绍过了)。
下面的表单在用户单击提交按钮时向"
welcome.php"
提交了用户输入:
Name:
<
text"
Age:
age"
取回"
中的值,就像这样:
Welcome<
phpecho$_POST["
.<
Youare<
yearsold.
PHPSessions
PHPsession变量用于存储有关用户会话的信息,或更改用户会话的设置。
Session变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
PHPSession变量
当您运行一个应用程序时,您
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 高级 教程