php粗略学习笔记

记录在学习中遇到的php知识,不会有系统的学习过程

GET POST方法

本条来自:http://wiki.jikexueyuan.com/project/php/get-post.html

$_GET 变量

GET方法发送编码用户信息添加到页面请求。页面和编码信息是由?字符分开。

1
http://www.test.com/index.htm?name1=value1&name2=value2
  • $_GET 方法会在你的服务器日志输出一个长字符串,出现在浏览器的位置:box 框。
  • GET 方法仅局限于发送高达 1024 个字符。
  • 如果你有密码或其他敏感信息,从不使用 GET 方法发送到服务器。
  • 不能被用来发送二进制数据,如图像或 word 文档,到服务器。
  • GET 方法发送的数据可以使用 QUERY_STRING 环境变量访问。
  • PHP 提供了关联数组$_GET可以访问所有使用 GET 方法的发送信息。 //注意这个关联数组,可以直接取得参数内容

$_POST 变量

POST 方法通过 HTTP headers 头转移信息。信息被编码可以描述为在 GET 方法的情况下,把信息放入一个 header 头称为 QUERY_STRING。。

  • POST 方法没有任何要发送的数据大小限制。
  • 可以使用 POST 方法发送 ASCII 和二进制数据。
  • POST 方法发送的数据通过 HTTP 头,所以安全依赖于 HTTP 协议。通过使用安全 HTTP 可以确保您的信息安全。
  • PHP 提供了 $ _POST 关联数组访问所有使用 POST 方法发送信息。 //同样是关联数组

$_REQUEST 变量

PHP 的 REQUEST变量包含了_GET, POST以及_COOKIE 的内容。

PHP 的 $_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。

超全局变量在 PHP 4.1.0 中引入,是在全部作用域中始终可用的内置变量。

PHP 全局变量 - 超全局变量

PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

这些超全局变量是:

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

PHP $_SERVER

$_SERVER 这种超全局变量保存关于报头、路径和脚本位置的信息。

$_SERVER[“HTTP_HOST”]和$_SERVER[“SERVER_NAME”]

$_SERVER["HTTP_HOST"]输出的是从http请求中获取的
$_SERVER["SERVER_NAME"]默认情况下直接输出,再服务器中设置好的,不会改变.

httpd.conf配置如下:

1
2
3
4
<virtualhost *>
ServerName aaa.org
ServerAlias www.aaa.org
</virtualhost>

客户端访问域名www.aaa.org
_SERVER[“HTTP_HOST”] 输出 www.aaa.org
_SERVER[“SERVER_NAME”] 输出 aaa.org

客户端访问ip127.0.0.1
_SERVER[“HTTP_HOST”] 输出 127.0.0.1
_SERVER[“SERVER_NAME”] 输出 aaa.org

$_SERVER[‘HTTP_REFERER’]

获取来源页面(发出请求的页面)的信息,也就是referer值.

isset()

isset() 函数用于检测变量是否已设置并且非 NULL。

如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。

若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。

同时要注意的是 null 字符(”\0”)并不等同于 PHP 的 NULL 常量。

PHP 版本要求: PHP 4, PHP 5, PHP 7

如果一次传入多个参数,那么 isset() 只有在全部参数都被设置时返回 TRUE,计算过程从左至右,中途遇到没有设置的变量时就会立即停止。

如果指定变量存在且不为 NULL,则返回 TRUE,否则返回 FALSE。

语法:bool isset ( mixed $var [, mixed $… ] )

preg_replace()

preg_replace 函数执行一个正则表达式的搜索和替换。

语法

1
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject \[,  int $limit =  -1  \[,  int  &$count \]\]  )

搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。

参数说明:

  • $pattern: 要搜索的模式,可以是字符串或一个字符串数组。

  • $replacement: 用于替换的字符串或字符串数组。

  • $subject: 要搜索替换的目标字符串或字符串数组。

  • $limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。

  • $count: 可选,为替换执行的次数。

返回值

如果 subject 是一个数组, preg_replace() 返回一个数组, 其他情况下返回一个字符串。

如果匹配被查找到,替换后的 subject 被返回,其他情况下 返回没有改变的 subject。如果发生错误,返回 NULL。

trim()

定义和用法

trim() 函数移除字符串两侧的空白字符或其他预定义字符。

相关函数:

  • ltrim() - 移除字符串左侧的空白字符或其他预定义字符。
  • rtrim() - 移除字符串右侧的空白字符或其他预定义字符。

语法

trim(string,charlist)
string 必需。规定要检查的字符串。
charlist 可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:
“\0” - NULL
“\t” - 制表符
“\n” - 换行
“\x0B” - 垂直制表符
“\r” - 回车
“ “ - 空格

mysql_real_escape_string(string,connection)

函数会对字符串中的特殊符号(\x00,\n,\r,\,‘,“,\x1a)进行转义

stripslashes(string)

函数删除字符串中的反斜杠。

htmlspecialchars()

htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
预定义的字符是:

  • & (和号)成为 &
  • “ (双引号)成为 "
  • ‘ (单引号)成为 ‘
  • < (小于)成为 <
  • > (大于)成为 >

要把特殊的 HTML 实体转换回字符,请使用 htmlspecialchars_decode() 函数。

addslashes()

在每个双引号(”)前添加反斜杠:

strip_tags()

strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。

注释:该函数始终会剥离 HTML 注释。这点无法通过 allow 参数改变。

注释:该函数是二进制安全的。

参数 描述
string 必需。规定要检查的字符串。
allow 可选。规定允许的标签。这些标签不会被删除。
如果文章有问题欢迎指出,或者你也可以联系我
本文作者:E1se
本文链接: 2019/02/24/php粗略学习笔记/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!
-------------本文结束-------------
0%