1、多维数组
2、日期,
- d - 表示月里的某天(01-31)
- m - 表示月(01-12)
- Y - 表示年(四位数)
- 1 - 表示周里的某天
© 2010-<?php echo date("Y")?>,使用 date() 函数在您的网站上自动更新版本年份
- h - 带有首位零的 12 小时小时格式
- i - 带有首位零的分钟
- s - 带有首位零的秒(00 -59)
- a - 小写的午前和午后(am 或 pm)
maketime()创建日期
strtotime()用字符串来创建日期
3、include,通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件(在服务器执行它之前),require语句产生致命错误终止脚本进行,include会产生警告信息脚本继续。
语法:include ‘filename’,网站中的所有页面均使用此菜单文件。具体的做法是(我们使用了一个 <div> 元素,这样今后就可以轻松地通过 CSS 设置样式),然后,如果我们引用这个 "vars.php" 文件,就可以在调用文件中使用他里面的那些变量,就是引用哪个连他里面的变量一起都可以用;
4、php文件处理,当您操作文件时必须非常小心。如果您操作失误,可能会造成非常严重的破坏。
常见的错误是:编辑错误的文件,被垃圾数据填满硬盘,意外删除文件内容,如果您想做的所有事情就是打开一个文件并读取器内容,那么 readfile() 函数很有用。加上一些目录。
5、在服务器上读取打开文件,打开文件的更好的方法是通过 fopen() 函数。此函数为您提供比 readfile() 函数更多的选项。fopen() 的第一个参数包含被打开的文件名,第二个参数规定打开文件的模式。如果 fopen() 函数未能打开指定的文件,下面的例子会生成一段消息,<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!"); echo fread($myfile,filesize("webdictionary.txt")); fclose($myfile); ?>
fread() 函数读取打开的文件。fread() 的第一个参数包含待读取文件的文件名,第二个参数规定待读取的最大字节数。fclose() 函数用于关闭打开的文件。
fgets() 函数用于从文件读取单行。
feof() 函数检查是否已到达 "end-of-file" (EOF)。
feof() 对于遍历未知长度的数据很有用。
fgetc() 函数用于从文件中读取单个字符。
6、php文件创建写入,fopen() 函数也用于创建文件。也许有点混乱,但是在 PHP 中,创建文件所用的函数与打开文件的相同。fwrite() 函数用于写入文件。fwrite() 的第一个参数包含要写入的文件的文件名,第二个参数是被写的字符串。
7、文件上传,<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。
8、php cookies,cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。setcookie() 函数用于设置 cookie。setcookie() 函数必须位于 <html> 标签之前。
setcookie(name, value, expire, path, domain);
setcookie("user", "Alex Porter", time()+3600);
在发送 cookie 时,cookie 的值会自动进行 URL 编码,在取回时进行自动解码(为防止 URL 编码,请使用 setrawcookie() 取而代之)。PHP 的 $_COOKIE 变量用于取回 cookie 的值。我们使用 isset() 函数来确认是否已设置了 cookie。当删除 cookie 时,您应当使过期日期变更为过去的时间点。
setcookie("user", "", time()-3600);如果您的应用程序涉及不支持 cookie 的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。一种方式是从表单传递数据(有关表单和用户输入的内容,稍早前我们已经在本教程中介绍过了)。
9、php session,PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。
在您把用户信息存储到 PHP session 中之前,首先必须启动会话。
<?php session_start(); ?> <html> <body> </body> </html>
存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:
如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
10、php发送电子邮件,PHP mail() 函数用于从脚本中发送电子邮件。mail(to,subject,message,headers,parameters)。
11、php安全的电子邮件,假如用户在表单中的输入框内加入这些文本,会出现什么情况呢?
[email protected]%0ACc:[email protected]
%0ABcc:[email protected],[email protected],
[email protected],[email protected]
%0ABTo:[email protected]
与往常一样,mail() 函数把上面的文本放入邮件头部,那么现在头部有了额外的 Cc:, Bcc: 以及 To: 字段。当用户点击提交按钮时,这封 e-mail 会被发送到上面所有的地址!
防止 e-mail 注入的最好方法是对输入进行验证。我们使用了 PHP 过滤器来对输入进行验证:
- FILTER_SANITIZE_EMAIL 从字符串中删除电子邮件的非法字符
- FILTER_VALIDATE_EMAIL 验证电子邮件地址
12、在 PHP 中,默认的错误处理很简单。一条消息会被发送到浏览器,这条消息带有文件名、行号以及一条描述错误的消息。我们将为您讲解不同的错误处理方法:
简单的 "die()" 语句
自定义错误和错误触发器
错误报告
创建一个自定义的错误处理器非常简单。我们很简单地创建了一个专用函数,可以在 PHP 中发生错误时调用该函数。
该函数必须有能力处理至少两个参数 (error level 和 error message),但是可以接受最多五个参数(可选的: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 | 可选。规定一个数组,包含了当错误发生时在用的每个变量以及它们的值。 |
值 | 常量 | 描述 |
---|---|---|
2 | E_WARNING | 非致命的 run-time 错误。不暂停脚本执行。 |
8 | E_NOTICE |
Run-time 通知。 脚本发现可能有错误发生,但也可能在脚本正常运行时发生。 |
256 | E_USER_ERROR | 致命的用户生成的错误。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_ERROR。 |
512 | E_USER_WARNING | 非致命的用户生成的警告。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_WARNING。 |
1024 | E_USER_NOTICE | 用户生成的通知。这类似于程序员使用 PHP 函数 trigger_error() 设置的 E_NOTICE。 |
4096 | E_RECOVERABLE_ERROR | 可捕获的致命错误。类似 E_ERROR,但可被用户定义的处理程序捕获。(参见 set_error_handler()) |
8191 | E_ALL |
所有错误和警告,除级别 E_STRICT 以外。 (在 PHP 6.0,E_STRICT 是 E_ALL 的一部分) |
在脚本中用户输入数据的位置,当用户的输入无效时触发错误的很有用的。在 PHP 中,这个任务由 trigger_error() 完成。您可以在脚本中任何位置触发错误,通过添加的第二个参数,您能够规定所触发的错误级别。
错误记录,默认地,根据在 php.ini 中的 error_log 配置,PHP 向服务器的错误记录系统或文件发送错误记录。通过使用 error_log() 函数,您可以向指定的文件或远程目的地发送错误记录。
error_log("Error: [$errno] $errstr",1, "[email protected]","From: [email protected]");
13、异常处理,异常(Exception)用于在指定的错误发生时改变脚本的正常流程。抛出异常而不捕获他会产生严重的错误。正确的为Try,throw,catch。function里写exception,调用里try,catch。不过,为了遵循“每个 throw 必须对应一个 catch”的原则,可以设置一个顶层的异常处理器来处理漏掉的错误。创建自定义的异常处理程序非常简单。我们简单地创建了一个专门的类,当 PHP 中发生异常时,可调用其函数。该类必须是 exception 类的一个扩展。这个自定义的 exception 类继承了 PHP 的 exception 类的所有属性,您可向其添加自定义的函数。可以为一段脚本使用多个异常,来检测多种情况。可以使用多个 if..else 代码块,或一个 switch 代码块,或者嵌套多个异常。这些异常能够使用不同的 exception 类,并返回不同的错误消息,有时,当异常被抛出时,您也许希望以不同于标准的方式对它进行处理。可以在一个 "catch" 代码块中再次抛出异常。脚本应该对用户隐藏系统错误。对程序员来说,系统错误也许很重要,但是用户对它们并不感兴趣。为了让用户更容易使用,您可以再次抛出带有对用户比较友好的消息的异常。设置顶层异常:set_exception_handler() 函数可设置处理所有未捕获异常的用户定义函数。在上面的代码中,不存在 "catch" 代码块,而是触发顶层的异常处理程序。应该使用此函数来捕获所有未被捕获的异常。
14、php过滤器,PHP 过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入。输入过滤是最重要的应用程序安全课题之一。
什么是外部数据?
来自表单的输入数据
Cookies
服务器变量
数据库查询结果。
如需过滤变量,请使用下面的过滤器函数之一:
filter_var() - 通过一个指定的过滤器来过滤单一的变量
filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
filter_input - 获取一个输入变量,并对它进行过滤
filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤。
有两种过滤器:
Validating 过滤器:
- 用于验证用户输入
- 严格的格式规则(比如 URL 或 E-Mail 验证)
- 如果成功则返回预期的类型,如果失败则返回 FALSE
Sanitizing 过滤器:
用于允许或禁止字符串中指定的字符
无数据格式规则
始终返回字符串。
通过使用 FILTER_CALLBACK 过滤器,可以调用自定义的函数,把它作为一个过滤器来使用。这样,我们就拥有了数据过滤的完全控制权。
15、本章节我们将为大家介绍如何使用 PHP 语言来编码和解码 JSON 对象。
json_encode | 对变量进行 JSON 编码 |
json_decode | 对 JSON 格式的字符串进行解码,转换为 PHP 变量 |
json_last_error | 返回最后发生的错误 |