PHP学习笔记

来源:互联网 发布:手机淘宝修改中差评 编辑:程序博客网 时间:2024/06/05 09:59

1 变量

在 PHP 中,不需要在设置变量之前声明该变量。

不必向 PHP 声明该变量的数据类型。

变量的命名规则

1)变量名必须以字母或下划线 "_" 开头。

2)变量名只能包含字母数字字符以及下划线。

3)变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)


2字符串
2.1字符串连接
并置运算符 (.) 用于把两个字符串值连接起来。
2.2strlen() 函数用于计算字符串的长度。
2.3strpos() 函数用于在字符串内检索一段字符串或一个字符。

其他常用字符串函数:explode(),implode(),ltrim(),md5(),printf(),str_split(),strcmp(),strchr(),trim()等

3 数组

数值数组
带有数字 ID 键的数组
关联数组
数组中的每个 ID 键关联一个值
多维数组
包含一个或多个数组的数组4 循环

循环

在您编写代码时,您经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。

在 PHP 中,我们可以使用下列循环语句:

while
只要指定的条件成立,则循环执行代码块
do...while
首先执行一次代码块,然后在指定的条件成立时重复这个循环
for
循环执行代码块指定的次数
foreach
根据数组中每个元素来循环代码块
5 表单

PHP 的 $_GET 和 $_POST 用于检索表单中的值,比如用户输入。

5.1表单验证

应该在任何可能的时候对用户输入进行验证。客户端的验证速度更快,并且可以减轻服务器的负载。

不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。

在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。

5.2 $_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)

为什么使用 $_GET?

注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。

注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。


5.3 $_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。



为什么使用 $_POST?

  • 通过 HTTP POST 发送的变量不会显示在 URL 中。
  • 变量没有长度限制。

不过,由于变量不显示在 URL 中,所以无法把页面加入书签。

6 date()

时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数

常用date函数

date_default_timezone_get()返回默认时区。date_default_timezone_set()设置默认时区。date()格式化本地时间/日期。mktime()返回一个日期的 Unix 时间戳。time()返回当前时间的 Unix 时间戳。7Include

PHP include 和 require 语句

在 PHP 中,您能够在服务器执行 PHP 文件之前把该文件插入另一个 PHP 文件中。

include 和 require 语句用于在执行流中向其他文件插入有用的的代码。

include 和 require 很相似,除了在错误处理方面的差异:

  • require 会产生致命错误 (E_COMPILE_ERROR),并停止脚本
  • include 只会产生警告 (E_WARNING),脚本将继续

因此,如果您希望继续执行,并向用户输出结果,即使包含文件已丢失,那么请使用 include。否则,在框架、CMS 或者复杂的 PHP 应用程序编程中,请始终使用 require 向执行流引用关键文件。这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。

PHP Filesystem

常用函数:fclose(),feof(),fgets(),file_get_contents(),fopen()等

9 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"] - 由文件上传导致的错误代码
比较重要的变量和函数:

全局数组 $_FILES ,file_exists(),move_uploaded_file()

10 PHP cookies

如何创建 cookie?

setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 <html> 标签之前。

如何取回 Cookie 的值?

PHP 的 $_COOKIE 变量用于取回 cookie 的值。

 isset() 函数来确认是否已设置了 cookie

当删除 cookie 时,您应当使过期日期变更为过去的时间点。利用setcookie() 函数,如

setcookie("user", "", time()-3600);
11 php Sessions

Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

session_start() 函数必须位于 <html> 标签之前

存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量

如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

12 mail

mail(to,subject,message,headers,parameters)
php.ini配置(好像window不行)

SMTP = localhost改成
SMTP=smtp.163.com 

sendmail_from = me@example.com改成
sendmail_from = linzhifeng0228@163.com

13  PHP 安全的电子邮件(有时间时好好研究下)

14 

异常的规则

  • 需要进行异常处理的代码应该放入 try 代码块内,以便捕获潜在的异常。
  • 每个 try 或 throw 代码块必须至少拥有一个对应的 catch 代码块。
  • 使用多个 catch 代码块可以捕获不同种类的异常。
  • 可以在 try 代码块内的 catch 代码块中再次抛出(re-thrown)异常。

简而言之:如果抛出了异常,就必须捕获它。

0 0