什么是php?
php是指超文本预处理器,php是一种服务器端的脚本语言,php脚本在服务器上执行。
什么是php文件?
php文件可包含文本、HTML标签以及脚本,php文件向浏览器返回纯粹的HTML,php文件的文件后缀是”.php”、”.php3”或”.phtml ”。
你无法在浏览器中通过查看源文档的方式来查看php的源代码。你只能看到php文件的输出,即纯粹的HTML。这是因为在结果返回浏览器之前,脚本就已经在服务器执行了。
基本的php语法:
php的脚本块以<?php开始,以?>结束。你可以把php的脚本块放置在文档中的任何位置。
当然,在支持简写的服务器上,你可以使用<?和?>来开始和结束脚本块,不过为了达到最好的兼容性,我们推荐你使用标准形式(<?php),而不是简写形式。
php文件通常会包含HTML标签,就像一个HTML文件,以及一些php脚本代码。
php中的每个代码行都必须以分号。分号是一种分隔符,用于把指令集区分开来。
有两种通过php来输出文本的基础指令:echo和print。一般使用echo。
php变量
变量用于存储值,比如数字、字符串或函数的结果,这样我们就可以在脚本中多次使用它们了。
php中的变量
变量用于存储值,比如数字、文本字符串或数组
一旦设置了某个变量,我们就可以在脚本中重复地使用它。
php中的所有变量都是以$符号开始的。
php是一门松散类型的语言
在php中,不需要在设置变量之前声明该变量
根据变量被设置的方式,php会自动地把变量转换成正确的数据类型。
在强类型的编程语言中,你必须在使用前声明变量的类型和名称。
在php中,变量会在使用时被自动声明。
变量的命名规则:
变量名必须以字母或下划线”_”开头
变量名只能包含字母数字字符以及下划线
变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔,或者以大写字母开头。
php字符串
字符串变量用于存储并处理文本片段。
php中的字符串
字符串变量用于包含字符串的值。
在创建字符串之后,我们就可以对它进行操作了。你可以直接在函数中使用字符串,或者把它存储在变量中。
并置运算符
在php中,只有一个字符串运算符。并置运算符(.)用于把两个字符串值连接起来。要把两个变量连接在一起,请使用这个点运算符(.)。
使用strlen()函数
strlen()函数用于计算字符串的长度
字符串的长度信息常常用在循环或其他函数中,因为那时确定字符串何时结束是很重要的。
使用strpos()函数
strops()函数用于在字符串内检索一段字符串或一个字符。
如果在字符串中找到匹配,该函数会返回第一个匹配的位置。如果未找到匹配,则返回FALSE。
php数组
数组能够在单独的变量名中存储一个或多个值。
什么是数组?
在使用php进行开发的过程中,或早或晚,你会需要创建许多相似的变量。
无需很多相似的变量,你可以把数据作为元素存储在数组中。
数组中的元素都有自己的ID,因此可以方便地访问它们。
有三种数组类型:
数值数组
带有数字ID键的数组
关联数组
数组中的每个 ID键关联一个值
多维数组
包含一个或多个数组的数组
关联数组:关联数组,它的每个 ID键都关联一个值。在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。通过关联数组,我们可以把值作为键,并向它们赋值。
php中的foreach语句
foreach语句用于循环遍历数组,每进行一次循环,当前数组元素的值就会被赋值给value变量(数组指针会逐一地移动)----以此类推。
语法:
foreach(array as value)
{
code to be executed;s
}
php函数
php的真正威力源自于它的函数。在php中,提供了超过700个内建的函数。
创建php函数
函数是一种可以在任何被需要的时候执行的代码块
创建php函数
1.所有的函数都使用关键词”function”来开始
2.命名函数-函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
3.添加”{”-开口的花括号之后的部分是函数的代码
4.插入函数代码
5.添加一个“}”-函数通过关闭花括号来结束。
PHP函数的参数与返回值的类型都不需要指定,因为php是松散类型的语言,它会自动指定正确的数据类型。
php表单和用户输入
PHP的$_GET和$_POST用于检索表单中的值,比如用户输入。
表单验证
应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。
php中的 $_GET
$_GET变量用于收集来自method=”get”的表单中的值。
$_GET变量
$_GET变量是一个数组,内容是由HTTP GET方法发送的变量名称和值
$_GET变量用于收集来自method=”get”的表单中的值。从带有GET方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多100个字符)。
为什么使用$_GET
注释:在使用$_GET变量时,所有的变量名和值都会显示在URL中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在URL中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
注意:HTTP GET方法不适合大型的变量值;值是不能超过100个字符的
$_REQUEST变量
PHP的$_REQUEST变量包含了$_GET,$_POST以及$_COOKIE的内容。
PHP的$_REQUEST变量可用来取得通过 GET和POST方法发送的表单数据的结果。
PHP $_POST
$_POST变量用于收集来自method=”post”的表单中的值。
$_POST变量
$_POST变量是一个数组,内容是由HTTP POST方法发送的变量名称和值。
$_POST变量用于收集来自method=”post”的表单中的值。从带有 POST方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
为什么使用$_POST
通过HTTP POST发送的变量不会显示在URL中。
变量没有长度限制。不过,由于变量不显示在URL中,所以无法把页面加入书签。
PHP Date()
PHP 的date()函数用于格式化时间或日期。
PHP Date()函数
PHP Date()函数可把时间戳格式化为可读性更好的日期和时间。
语法:date(format,timestamp)
参数format必需。规定时间戳的格式。
参数 timestamp可选。规定时间戳。默认是当前的日期和时间。
PHP日期----什么是时间戳
时间戳是自1970年1月1日以来的秒数。它也被称为Unix时间戳。
PHP日期---格式化日期
date()函数的第一个参数规定了如何格式化日期/时间。它使用字母来表示日期和时间的格式。这里列出了一些可用的字母:
d—月中的天(01-31)
m---当前月,以数字计(01-12)
Y----当前的年(四位数)
可以在字母之间插入其他字符,比如“/”、“.”或者”-”,这样就可以增加附加格式了。
php日期—添加时间戳
date()函数的第二个参数规定了一个时间戳。此参数是可选的。如果你没有提供时间戳,当前的时间将被使用。
php中的mktime()函数可为指定的日期返回Unix时间戳
语法:mktime(hour,minute,second,month,day,year,is_dst)
PHP Inlcude文件
服务器端包含(SSI)用于创建可在多个页面重复使用的函数、页眉、页脚或元素。
PHP include和require语句
在 PHP中,你能够在服务器执行 PHP文件之前把该文件插入另一个PHP文件中。
include和require语句用于在执行流中向其他文件插入有用的代码。
include和require很相似,除了在错误处理方面的差异:
require会产生致命错误(E_COMPILE_ERROR),并停止脚本。
include只会产生警告(E_WARNING),脚本将继续。
因此,如果你希望继续执行,并向用户输出结果,即使包含文件已丢失,那么请使用include。否则,在框架、CMS或者复杂的PHP应用程序编译中,请始终使用require向执行流引用关键文件。这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。
包含文件省去了大量的工作。这意味着你可以为所有页面创建标准页头、页脚或者菜单文件。然后,在页头需要更新时,你只需要更新这个页头包含文件即可。
注:在包含定义变量的包含文件时,这些变量可以用在调用文件中。
PHP文件处理:
fopen()函数用于在PHP中打开文件。
打开文件
fopen()函数用于在php中打开文件。此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件。
fclose()函数用于关闭打开的文件。
检测End-of-file
feof()函数检测是否已达到文件的末端(EOF)
在循环遍历未知长度的数据时,feof()函数很有用。
注意:在w、a以及x模式,你无法读取打开的文件。
逐行读取文件:
fgets()函数用于从文件中逐行读取文件。
注:在调用该函数之后,文件指针会移动到下一行。
逐字符读取文件:
fgetc()函数用于从文件逐字符地读取文件。注:在调用该函数之后,文件指针会移动到下一个字符。
PHP文件上传:
通过PHP,可以把文件上传到服务器。
创建一个文件上传表单
允许用户从表单上传文件时非常有用的。
<form>标签的enctype属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用”multipart/form-data”.
<input>标签的type=”file”属性规定了应该把输入作为文件来处理。
注:允许用户上传文件时一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
创建上传脚本:
通过使用php的全局数组$_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的input name,第二个下标可以是”name”,”type”,”size”,”tmp_name”或”error”。就像这样:
$_FILES[“file”][“name”]-被上传文件的名称。
$_FILES[“file”][“type”]-被上传文件的类型。
$_FILES[“file”][“size”]-被上传文件的大小,以字节计。
$_FILES[“file”][“tmp_name”]-存储在服务器的文件的临时副本的名称。
$_FILES[“file”][“error”]-由文件上传导致的错误代码。
这是一种非常简单文件上传方式。基于安全方面的考虑,你应当增加有关什么用户有权上传文件的限制。
cookie常用于识别用户
什么是Cookie?
cookie常用于识别用户。cookie是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送cookie。通过php,你能够创建并取回cookie的值。
如何创建cookie?
setcookie()函数用于设置cookie。
注意:setcookie()函数必须位于<html>标签之前。
语法:setcookie(name,value,expire,path,domain);
注释:在发送cookie时,cookie的值会自动进行URL编码,在取回时进行自动解码(为防止URL编码,请使用setrawcookie()取而代之)。
如何取回Cookie的值?
PHP的$_COOKIE变量用于取回cookie的值。
如何删除cookie?
当删除cookie时,你应当使过期日期变更为过去的时间点。
PHP Sessions
PHP Session变量用于存储有关用户会话的信息,或更改用户会话的设置。Session变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
PHP Session变量
当你运行一个应用程序时,你会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于HTTP地址不能维持状态。
通过在服务器上存储用户信息以便随后使用,PHP session解决了这个问题(比如用户名称、购买商品等)。不过,会话信息是临时的,在用户离开网站后将被删除。如果你需要永久存储信息,可以把数据存储在数据库里。
Session的工作机制是:为每个访问者创建一个唯一的id(UID),并基于这个UID来存储变量。UID存储在cookie中,亦或通过URL进行传导。
开始PHP Session
在你把用户信息存储到PHP Session中之前,首先必须启动会话。
注释:session_start()函数必须位于<html>标签之前。
如果你希望删除某些Session数据,可以使用unset()或session_destroy()函数。
PHP发送电子邮件
php允许你从脚本直接发送电子邮件
php mail()函数
php mail()函数用于从脚本中发送电子邮件。
mail(to,subject,message,headers,parameters);
to 必需。规定email接收者。
subject 必需。规定email的主题。注释:该参数不能包含任何新行字符。
message 必需。定义要发送的消息。应使用LF(\n)来分隔各行。
headers 可选。规定附加的标题,比如From、Cc以及Bcc。应当使用CRLF(\r\n)分隔附加的标题
parameters 可选。对邮件发送程序规定额外的参数。
注意:PHP需要一个已安装且正在运行的邮件系统,以便使邮件函数可用。所用的程序通过在php.ini文件中的配置设置进行定义。
这个php.ini文件暂时没有找到
PHP错误处理
在PHP中,默认的错误处理很简单。一条消息会被发送到浏览器,这条消息带有文件名、行号以及一条描述错误的消息。
php错误处理
在创建脚本和web应用程序时,错误处理是一个重要的部分。如果你的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。
PHP中错误处理方法:
l 简单的”die()”语句。
l 自定义错误和错误触发器
l 错误报告
基本的错误处理:使用die()函数
创建自定义错误处理器
创建一个自定义的错误处理器非常简单。我们很简单地创建了一个专用函数,可以在PHP中发生错误时调用该函数。
该函数必须有能力处理至少两个参数,但是可以接受最多五个参数(可选的:file,line-number以及error context);
语法:error_function(error_level,error_message,error_file,error_line,error_context)
error_level 必需。为用户定义的错误规定错误报告级别。必须是一个值数。
error_message 必需。为用户定义的错误规定错误消息。
error_file 可选。规定错误在其中发生的文件名。
error_line 可选。规定错误发生的行号。
error_context 可选。规定一个数组,包含了当错误发生时在用的每个变量以及它们的值。