美文网首页
php手记-杂乱无章

php手记-杂乱无章

作者: 5号船长 | 来源:发表于2018-11-06 16:25 被阅读2次
1.$_SERVER

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。

'PHP_SELF'
当前执行脚本的文件名,与 document root 有关。例如,在地址为 http://example.com/foo/bar.php 的脚本中使用 $_SERVER['PHP_SELF'] 将得到 /foo/bar.php。
'SERVER_ADDR'
当前运行脚本所在的服务器的 IP 地址。
'SERVER_NAME'
当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。
'SERVER_SOFTWARE'
服务器标识字符串,在响应请求时的头信息中给出。
'SERVER_PROTOCOL'
请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

'REQUEST_METHOD'
访问页面使用的请求方法;例如,“GET”, “HEAD”,“POST”,“PUT”。
'REQUEST_TIME'
请求开始时的时间戳。从 PHP 5.1.0 起可用。
'REQUEST_TIME_FLOAT'
请求开始时的时间戳,微秒级别的精准度。 自 PHP 5.4.0 开始生效。
'QUERY_STRING'
query string(查询字符串),如果有的话,通过它进行页面访问。
'DOCUMENT_ROOT'
当前运行脚本所在的文档根目录。在服务器配置文件中定义。

'HTTP_ACCEPT'
当前请求头中 Accept: 项的内容,如果存在的话。
'HTTP_ACCEPT_CHARSET'
当前请求头中 Accept-Charset: 项的内容,如果存在的话。例如:“iso-8859-1,*,utf-8”。
'HTTP_ACCEPT_ENCODING'
当前请求头中 Accept-Encoding: 项的内容,如果存在的话。例如:“gzip”。
'HTTP_ACCEPT_LANGUAGE'
当前请求头中 Accept-Language: 项的内容,如果存在的话。例如:“en”。
'HTTP_CONNECTION'
当前请求头中 Connection: 项的内容,如果存在的话。例如:“Keep-Alive”。

'HTTP_HOST'
当前请求头中 Host: 项的内容,如果存在的话。
'HTTP_REFERER'
引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改 HTTP_REFERER 的功能。简言之,该值并不可信。
'HTTP_USER_AGENT'
当前请求头中 User-Agent: 项的内容,如果存在的话。该字符串表明了访问该页面的用户代理的信息。一个典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。
'REMOTE_ADDR'
浏览当前页面的用户的 IP 地址。
'REMOTE_HOST'
浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR。

'REMOTE_PORT'
用户机器上连接到 Web 服务器所使用的端口号。
'REMOTE_USER'
经验证的用户
'REDIRECT_REMOTE_USER'
验证的用户,如果请求已在内部重定向。
'SCRIPT_FILENAME'
当前执行脚本的绝对路径。
'REQUEST_URI'
URI 用来指定要访问的页面。例如 “/index.html”。
'SCRIPT_NAME'
包含当前脚本的路径。这在页面需要指向自己时非常有用.

以上是$_SERVER常用的一些值。
下面做一个使用的案例:

<?php
echo $_SERVER['SERVER_NAME'];
?>
输出结果为:www.example.com
2.strtolower

strtolower--将字符串转化为小写

string strtolower ( string $string )
将 string 中所有的字母字符转换为小写并返回。

Example:

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtolower($str);
echo $str; // 打印 mary had a little lamb and she loved it so
?>
3.array_merge

array_merge--合并一个或多个数组

array array_merge ( array $array1 [, array $... ] )
array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

Example:

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
返回的结果为:
Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)
4.file_get_contents

file_get_contents--将整个文件读入一个字符串

string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] )
除了 file_get_contents() 把文件读入一个字符串。将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容。如果失败,file_get_contents() 将返回 FALSE。
file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。

Example:

$opts = array('http' =>
  array(
    'method'  => 'POST',
    'header'  => "Content-Type: text/xml\r\n".
      "Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n",
    'content' => $body,
    'timeout' => 60
  )
);

$context  = stream_context_create($opts);
$url = '[https://](https:)'.$https_server;
$result = file_get_contents($url, false, $context, -1, 40000);
5.php://input

php://input是php语言中一个只读的数据流;通过"php://input",可以读取从Http客户端以POST方式提交、请求头“Content-Type”值非"multipart/form-data​"的所有数据;"php://input"一般用来读取POST数据,除已被处理以外的剩余数据。

6.php://output

php://output是php语言中一个只写的数据流,向“php://input”写入的数据将像 print() 和 echo() 一样的方式 写入到输出缓冲区.

7.parse_str

parse_str--将字符串解析成多个变量

void parse_str ( string $encoded_string [, array &$result ] )
例子:
<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";

// 推荐用法
parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

// 不建议这么用
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
8.trim

trim — 去除字符串首尾处的空白字符(或者其他字符)

string trim ( string $str [, string $character_mask = " \t\n\r\0\x0B" ] )

此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符:
" " (ASCII 32 (0x20)),普通空格符。
"\t" (ASCII 9 (0x09)),制表符。
"\n" (ASCII 10 (0x0A)),换行符。
"\r" (ASCII 13 (0x0D)),回车符。
"\0" (ASCII 0 (0x00)),空字节符。
"\x0B" (ASCII 11 (0x0B)),垂直制表符。

Example:
<?php
$text   = "\t\tThese are a few words :) ...  ";
$binary = "\x09Example string\x0A";
$hello  = "Hello World";
var_dump($text, $binary, $hello);

print "\n";

$trimmed = trim($text);
var_dump($trimmed);

$trimmed = trim($text, " \t.");
var_dump($trimmed);

$trimmed = trim($hello, "Hdle");
var_dump($trimmed);

// 清除 $binary 首位的 ASCII 控制字符
// (包括 0-31)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);
?>
输出结果:
string(32) "        These are a few words :) ...  "
string(16) "    Example string
"
string(11) "Hello World"

string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(14) "Example string"
9.strip_tags

strip_tags — 从字符串中去除 HTML 和 PHP 标记

string strip_tags ( string $str [, string $allowable_tags ] )
该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。
Example:
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// 允许 <p> 和 <a>
echo strip_tags($text, '<p><a>');
?>
返回的结果为:
Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>
10.htmlspecialchars

htmlspecialchars — 将特殊字符转换为 HTML 实体

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = TRUE ]]] )
Example:
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;
?>
11.array_keys

array_keys — 返回数组中部分的或所有的键名

array array_keys ( array $array [,mixed $search_value = null [, bool $strict = false ]] )

array_keys() 返回 input 数组中的数字或者字符串的键名。
如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。

Example:
<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
               "size"  => array("small", "medium", "large"));
print_r(array_keys($array));
?>

返回结果为:
Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)
总结

以上就是我自己比较常用到的部分函数。

封面.jpg

相关文章

  • php手记-杂乱无章

    1.$_SERVER $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(s...

  • 常用的排序算法

    常用的排序算法(PHP实现)_慕课手记

  • 关于时区的那点事

    php 学习笔记之关于时区的那点事_慕课手记

  • PHP手记

    php学习2015-05-19//1、php基本标记格式有两种//第一种格式//第二种格式//1.1 结束符号//...

  • 技术社区

    掘金csdn博客园php中文网fragmentfault慕课网手记语雀.....

  • PHP 随手记

    PHP TS和NTS版本区别 TS指Thread Safety,即线程安全,一般在IIS以ISAPI方式加载的时候...

  • 杂乱无章的 webpack 手记

    本文纯属个人笔记,毫无指导倾向和价值! 什么是webpack webpack 是模块打包器。根据模块的关系进行静态...

  • 2019-07-18

    手记 下载APP dockerfile自动部署nginx+php7 米琪卡哇伊2018-05-30 12:02:0...

  • php-还是手记

    1.sprintf sprintf — 返回一个格式化的字符串 2.count count — 计算数组中的单元数...

  • linux卸载PHP以及安装固定版本PHP以及检测

    随手记录一下自己在弄服务器的时候遇到的一些问题1.当服务器有PHP后装apache的时候 我选择删除PHP重新安装...

网友评论

      本文标题:php手记-杂乱无章

      本文链接:https://www.haomeiwen.com/subject/xwluxqtx.html