PHP常见函数总结

mysql_connect

  • 定义和用法
    mysql_connect() 函数打开非持久的 MySQL 连接。
  • 语法
mysql_connect(server,user,pwd,newlink,clientflag)
参数	描述
server	(1)可选。规定要连接的服务器。
    	(2)可以包括端口号,例如 "hostname:port",或者到本地套接字的路径,例如对于 localhost 的 ":/path/to/socket"(3)如果 PHP 指令 mysql.default_host 未定义(默认情况),则默认值是'localhost:3306'。
user	可选。用户名。默认值是服务器进程所有者的用户名。
pwd		可选。密码。默认值是空密码。
newlink	可选。如果用同样的参数第二次调用 mysql_connect(),将不会建立新连接,而将返回已经打开的连接标识。参数 new_link 改变此行为并使mysql_connect()总是打开新的连接,甚至当 mysql_connect()曾在前面被用同样的参数调用过。
           
clientflag	可选。client_flags 参数可以是以下常量的组合:
MYSQL_CLIENT_SSL - 使用 SSL 加密
MYSQL_CLIENT_COMPRESS - 使用压缩协议
MYSQL_CLIENT_IGNORE_SPACE - 允许函数名后的间隔
MYSQL_CLIENT_INTERACTIVE - 允许关闭连接之前的交互超时非活动时间
  • 返回值
    如果成功,则返回一个 MySQL 连接标识,失败则返回 FALSE。
  • 提示和注释
    注释:脚本一结束,到服务器的连接就被关闭,除非之前已经明确调用 mysql_close() 关闭了。
    提示:要创建一个持久连接,请使用 mysql_pconnect() 函数。
  • 例:
<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// 一些代码...

mysql_close($con);
?>

mysql_error()

  • 定义和用法
    mysql_error() 函数返回上一个 MySQL 操作产生的文本错误信息。
    本函数返回上一个 MySQL 函数的错误文本,如果没有出错则返回 ‘’(空字符串)。

  • 语法

mysql_error(connection)
参数	描述
connection	可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。
  • 例:
<?php
$con = mysql_connect("localhost","wrong_user","wrong_pwd");
if (!$con)
  {
  die(mysql_error());
  }
mysql_close($con);
?>
输出类似:
Access denied for user 'wrong_user'@'localhost'
(using password: YES)

mysql_query

  • 语法:
mysql_query(query,connection)
参数	描述
query	必需。规定要发送的 SQL 查询。注释:查询字符串不应以分号结束。
connection	可选。规定 SQL 连接标识符。如果未规定,则使用上一个打开的连接。
  • 说明
    如果没有打开的连接,本函数会尝试无参数调用 mysql_connect()函数来建立一个连接并使用之。
  • 返回值
    mysql_query()仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。
    对于其它类型的 SQL 语句,mysql_query()在执行成功时返回 TRUE,出错时返回 FALSE。
    非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。很有可能一条查询执行成功了但并未影响到或并未返回任何行。
  • 提示和注释
    注释:该函数自动对记录集进行读取和缓存。如需运行非缓存查询,请使mysql_unbuffered_query()
<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$sql = "SELECT * FROM Person";
mysql_query($sql,$con);

// 一些代码

mysql_close($con);
?>

mysql_close()

  • 定义和用法
    mysql_close() 函数关闭非持久的 MySQL 连接。
  • 语法
mysql_close(link_identifier)
参数					描述
link_identifier		必需。MySQL 的连接标识符。如果没有指定,默认使用最后被mysql_connect()打开的连接。如果没有找到该连接,函数会尝试调用mysql_connect()建立连接并使用它。如果发生意外,没有找到连接或无法建立连接,系统发出E_WARNING级别的警告信息
  • 说明
    本函数关闭指定的连接标识所关联的到 MySQL 服务器的非持久连接。如果没有指定 link_identifier,则关闭上一个打开的连接。
  • 返回值
    如果成功则返回 true,失败则返回 false。
  • 提示和注释
    提示:通常不需要使用 mysql_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭。
    注释:mysql_close() 不会关闭由 mysql_pconnect() 建立的持久连接。

mysql_num_rows

  • 定义和用法
    mysql_num_rows() 函数返回结果集中行的数目。

  • 语法

mysql_num_rows(data)
参数	描述
data	必需。结果集。该结果集从 mysql_query() 的调用中得到。
  • 说明
    mysql_num_rows()返回结果集中行的数目。此命令仅对SELECT语句有效。要取得被INSERT,UPDATE或者DELETE查询所影响到的行的数目,用mysql_affected_rows()。类似你使用sqlmap时,输出地一行行类似表格地数据,结果集中行地数目,应该就是这个

  • 提示和注释
    注释:如果使用 mysql_unbuffered_query(),则直到结果集中的所有行都被提取mysql_num_rows() 才能返回正确的值。

<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("test_db",$con);

$sql = "SELECT * FROM person";
$result = mysql_query($sql,$con);
echo mysql_num_rows($result);

mysql_close($con);
?>
输出类似:
3

mysql_select_db

  • 定义和用法
    mysql_select_db() 函数设置活动的 MySQL 数据库。
    如果成功,则该函数返回 true。如果失败,则返回 false。

  • 语法

mysql_select_db(database,connection)
参数		描述
database		必需。规定要选择的数据库。
connection	    可选。规定 MySQL 连接。如果未指定,则使用上一个连接。
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("test_db", $con);

if (!$db_selected)
  {
  die ("Can\'t use test_db : " . mysql_error());
  }

mysql_close($con);
?>

mysql_result

  • 定义和用法
    mysql_result() 函数返回结果集中一个字段的值。
    如果成功,则该函数返回字段值。如果失败,则返回 false。

  • 语法

mysql_result(data,row,field)
参数	描述
data	必需。规定要使用的结果标识符。该标识符是 mysql_query() 函数返回的。
row	    必需。规定行号。行号从 0 开始。
field	可选。规定获取哪个字段。可以是字段偏移值,字段名或 table.fieldname。
如果该参数未规定,则该函数从指定的行获取第一个字段。
  • 说明
    当作用于很大的结果集时,应该考虑使用能够取得整行的函数。这些函数在一次函数调用中返回了多个单元的内容,比 mysql_result() 快得多。
    此外请注意,在字段参数中指定数字偏移量比指定字段名或者 tablename.fieldname 要快得多。
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("test_db", $con);

$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);

echo mysql_result($result,0);

mysql_close($con);

?>
输出类似:
Adams

mysql_real_escape_string

  • 定义和用法
mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符。
下列字符受影响:
\x00
\n
\r
\
'
"
\x1a
如果成功,则该函数返回被转义的字符串。如果失败,则返回 false
  • 语法
mysql_real_escape_string(string,connection)
参数				描述
string			必需。规定要转义的字符串。
connection		可选。规定 MySQL 连接。如果未规定,则使用上一个连接。
  • 说明
    本函数将 string 中的特殊字符转义,并考虑到连接的当前字符集,因此可以安全用于 mysql_query()。
    提示和注释
    提示:可使用本函数来预防数据库攻击。
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// 获得用户名和密码的代码

// 转义用户名和密码,以便在 SQL 中使用
$user = mysql_real_escape_string($user);
$pwd = mysql_real_escape_string($pwd);

$sql = "SELECT * FROM users WHERE
user='" . $user . "' AND password='" . $pwd . "'"


// 更多代码

mysql_close($con);
?>

stripslashes

  • 定义和用法
    stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。
    提示:该函数可用于清理从数据库中或者从 HTML 表单中取回的数据。

  • 语法

stripslashes(string)
参数	描述
string	必需。规定要检查的字符串。
  • 技术细节
    返回值: 返回已剥离反斜杠的字符串。
    PHP 版本: 4+
删除反斜杠:
<?php
echo stripslashes("Who\'s Bill Gates?");
?>
输出:Who's Bill Gates?

sleep

  • 定义和用法
    sleep() 函数延迟代码执行若干秒。

  • 语法

sleep(seconds)
参数			描述
seconds		必需。以秒计的暂停时间。
  • 返回值
    若成功,返回 0,否则返回 false。
    错误/异常
    如果指定的描述 seconds 是负数,该函数将生成一个 E_WARNING。

  • 例子

<?php
echo date('h:i:s') . "<br />";

//暂停 10 秒
sleep(10);

//重新开始
echo date('h:i:s');

?>
输出:
12:00:08
12:00:18

stristr(注,该函数不区分大小写,strstr和这个函数用法一样,区分大小写)

  • 定义和用法
    stristr() 函数搜索字符串在另一字符串中的第一次出现。
    注释:该函数是二进制安全的。
    注释:该函数是不区分大小写的。如需进行区分大小写的搜索,请使用 strstr() 函数。

  • 语法

stristr(string,search,before_search)
参数	      		描述
string	      	必需。规定被搜索的字符串。
search	      	必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。
before_search   可选。默认值为 "false" 的布尔值。如果设置为 "true",它将返回search参数第一次出现之前的字符串部分,布尔值为true时,返回不包括匹配到的字符串
  • 技术细节
    返回值: 返回字符串的剩余部分(从匹配点)。如果未找到所搜索的字符串,则返回 FALSE。
    PHP 版本: 4+
    更新日志:
    在 PHP 5.3 中,新增了 before_search 参数。
    在 PHP 4.3 中,该函数变成是二进制安全的。
<?php
echo stristr("Hello world!","WORLD");
?>
输出:world!

<?php
echo stristr("Hello 1stPeak","peak",true);
?>
输出:Hello 1st

php_uname

php_uname($mode)
mode 是单个字符,用于定义要返回什么信息:
‘a’:此为默认。包含序列 “s n r v m” 里的所有模式。
’s’:操作系统名称。例如: FreeBSD。
‘n’:主机名。例如: localhost.example.com。
‘r’:版本名称,例如: 5.1.2-RELEASE。
‘v’:版本信息。操作系统之间有很大的不同。
‘m’:机器类型。例如:i386。

shell_exec

shell_exec()函数是PHP中的一个内置函数,用于通过shell执行命令并以字符串的形式返回完整的输出。如果命令失败,则返回NULLexec()函数是PHP中的内置函数,用于执行外部程序并返回输出的最后一行。如果没有正确运行命令,它也返回NULL

str_replace

  • 定义和用法
    str_replace() 函数替换字符串中的一些字符(区分大小写)。
    该函数必须遵循下列规则:
    如果搜索的字符串是一个数组,那么它将返回一个数组。
    如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
    如果同时需要对某个数组进行查找和替换,并且replace的值少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。
    如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。
    注释:该函数是区分大小写的。请使用 str_ireplace() 函数执行不区分大小写的搜索。
    注释:该函数是二进制安全的。
  • 语法
str_replace(find,replace,string,count)
参数	描述
find	必需。规定要查找的值。
replace	必需。规定替换 find 中的值的值。
string	必需。规定被搜索的字符串。
count	可选。一个变量,对替换数进行计数。
  • 技术细节
    返回值: 返回带有替换值的字符串或数组。
    PHP 版本: 4+
    更新日志: 在 PHP 5.0 中,新增了 count 参数。
    在 PHP 4.3.3 之前,该函数的 find 和 replace 参数都为数组时将会遇到麻烦,会引起空的 find 索引在内部指针没有更换到 replace 数组上时被忽略。新的版本不会有这个问题。
    自 PHP 4.0.5 起,大多数参数可以是一个数组。
replace的值少于查找到的元素用空格替代:
<?php
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>
输出:Array ( [0] => B [1] => [2] => ! )

array_keys

  • 定义和用法
    array_keys() 函数返回包含数组中所有键名的一个新数组。
    如果提供了第二个参数,则只返回键值为该值的键名。
    如果 strict 参数指定为 true,则 PHP 会使用全等比较 (===) 来严格检查键值的数据类型。

  • 语法

array_keys(array,value,strict)
参数	描述
array	必需。规定数组。
value	可选。您可以指定键值,然后只有该键值对应的键名会被返回。
strict	可选。与 value 参数一起使用。可能的值:
        true-返回带有指定键值的键名。依赖类型,数字5与字符串"5"是不同的。
        false - 默认值。不依赖类型,数字 5 与字符串 "5" 是相同的。
  • 技术细节
    返回值: 返回包含数组中所有键名的一个新数组。
    PHP 版本: 4+
    更新日志: strict 参数是在 PHP 5.0 中新增的。
返回包含数组中所有键名的一个新数组:
<?php
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a));
?>
输出:Array ( [0] => Volvo [1] => BMW [2] => Toyota )

使用 value 参数:
<?php
$a=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
print_r(array_keys($a,"Highlander"));
?>
输出:Array ( [0] => Toyota )

trim

  • 定义和用法
    trim() 函数移除字符串两侧的空白字符或其他预定义字符。
    相关函数:
    ltrim() - 移除字符串左侧的空白字符或其他预定义字符。
    rtrim() - 移除字符串右侧的空白字符或其他预定义字符。

  • 语法

trim(string,charlist)
参数			描述
string		必需。规定要检查的字符串。
charlist	可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:
"\0" 	- NULL
"\t" 	- 制表符
"\n" 	- 换行
"\x0B"  - 垂直制表符
"\r" 	- 回车
" " 	- 空格
  • 技术细节
    返回值: 返回已修改的字符串。
    PHP 版本: 4+
    更新日志: 在 PHP 4.1 中,新增了 charlist 参数。
移除字符串左侧的字符("Hello" 中的 "He"以及 "World" 中的 "d!"):
<?php
$str = "Hello World!";
echo $str . "<br>";
echo trim($str,"Hed!");
?>
输出:
Hello World!
llo Worl

explode

  • 定义和用法
    explode() 函数把字符串打散为数组。
    注释:“separator” 参数不能是空字符串。
    注释:该函数是二进制安全的。

  • 语法

explode(separator,string,limit)
参数			描述
separator	必需。规定在哪里分割字符串。
string		必需。要分割的字符串。
limit		可选。规定所返回的数组元素的数目。
			可能的值:大于 0 - 返回包含最多 limit 个元素的数组
         			小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
         			0 - 返回包含一个元素的数组
  • 技术细节
    返回值: 返回字符串的数组
    PHP 版本: 4+
    更新日志: 在 PHP 4.0.1 中,新增了 limit 参数。在 PHP 5.1.0 中,新增了对负数 limit 的支持。
把字符串打散为数组:
<?php
$str = "Hello world. I love Shanghai!";
print_r (explode(" ",$str));
?>
输出:Array ( [0] => Hello [1] => world. [2] => I [3] => love [4] => Shanghai! )

is_numeric

  • is_numeric() 函数用于检测变量是否为数字或数字字符串。
    PHP 版本要求:PHP 4, PHP 5, PHP 7
  • 语法
bool is_numeric ( mixed $var )
参数说明:$var:要检测的变量。
  • 返回值
    如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE。

sizeof

  • 定义和用法
    sizeof() 函数计算数组中的单元数目或对象中的属性个数。
    sizeof() 函数是 count() 函数的别名。
    注释:当变量未被设置,或是变量包含一个空的数组,该函数会返回 0。可使用 isset() 变量来测试变量是否被设置。

  • 语法

sizeof(array,mode);
参数		描述
array	必需。规定数组。
mode	可选。规定模式。可能的值:
		0 - 默认。不计数多维数组中的所有元素。
		1 - 递归地计数数组中元素的数目(计算多维数组中的所有元素)。
  • 技术细节
    返回值: 返回数组中元素的数目。
    PHP 版本: 4+
返回数组中元素的数目:
<?php
$cars=array("Volvo","BMW","Toyota");
echo sizeof($cars);
?>
输出:3

isset

  • (PHP 4, PHP 5, PHP 7)
    isset — 检测变量是否已设置并且非 NULL
  • 说明
isset ($va,$...)
检测变量是否设置,并且不是 NULL。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试
一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是null字符("\0")并不等同于
PHPNULL 常量。
如果一次传入多个参数,那么 isset() 只有在全部参数都以被设置时返回 TRUE 计算过程从
左至右,中途遇到没有设置的变量时就会立即停止。
参数
$var		要检查的变量。
$...		其他变量。
  • 返回值
    如果 var 存在并且值不是 NULL 则返回 TRUE,否则返回 FALSE。
    更新日志
    版本 说明
    5.4.0
    检查字符的非数字偏移量将会返回 FALSE。
<?php
$a=1;
var_dump(isset($a));
$b=null;
var_dump(isset($b));
$c;
var_dump(isset($c));
?>
输出:bool(true) bool(false) bool(false)

die(exit相同用法)

  • 定义和用法
    die() 函数输出一条消息,并退出当前脚本。
    该函数是 exit() 函数的别名。
  • 语法
die(status)
参数		描述
status	必需。规定在退出脚本之前写入的消息或状态号。状态号不会被写入输出。
  • 说明
    如果 status 是字符串,则该函数会在退出前输出字符串。
    如果 status 是整数,这个值会被用作退出状态。退出状态的值在0至254之间。退出状态255
    由 PHP 保留,不会被使用。状态 0 用于成功地终止程序。

  • 提示和注释
    注释:如果 PHP 的版本号大于等于 4.2.0,那么在 status 是整数的情况下,不会输出该参数。
    or die:or前面的语句执行返回true,就不执行or后面的;or前面返回false,就执行or后面的语句,因为die以执行就结束整个脚本的运行,所以常常用来调试。

eregi(ereg)

  • (PHP 4, PHP 5)
    eregi — 不区分大小写的正则表达式匹配(ereg用法和eregi一样,但是区分大小写)
    eregi()函数在一个字符串搜索指定的模式的字符串。搜索不区分大小写。Eregi()可以特别有用的检查有效性字符串,如密码。

  • 定义和用法

eregi($pattern,$string)
可选的输入参数规则包含一个数组的所有匹配表达式,他们被正则表达式的括号分组。
  • 返回值
    如果匹配成功返回true,否则,则返回false
    本函数和 ereg() 完全相同,只除了在匹配字母字符时忽略大小写的区别。
<?php
$string = 'XYZ';
   if (eregi('z', $string)) {
    echo "'$string' contains a 'z' or 'Z'!";
}
else
echo "No matching"
?>
输出:'XYZ' contains a 'z' or 'Z'!

basename

  • 定义和用法
    basename() 函数返回路径中的文件名部分。

  • 语法

basename(path,suffix)
参数		描述
path	必需。规定要检查的路径。
suffix	可选。规定文件扩展名。如果文件有 suffix,则不会输出这个扩展名。
<?php
$path = "/testweb/home.php";

//显示带有文件扩展名的文件名
echo basename($path);

//显示不带有文件扩展名的文件名
echo basename($path,".php");
?> 
输出:
home.php
home

move_uploaded_file

  • 定义和用法
    move_uploaded_file() 函数将上传的文件移动到新位置。
    若成功,则返回 true,否则返回 false。
  • 语法
move_uploaded_file(file,newloc)
参数		描述
file	必需。规定要移动的文件。
newloc	必需。规定文件的新位置。
  • 说明
    本函数检查并确保由 file 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 newloc 指定的文件。
    如果 file 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 false。
    如果 file 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 false,此外还会发出一条警告。
    这种检查显得格外重要,如果上传的文件有可能会造成对用户或本系统的其他用户显示其内容的话。
  • 提示和注释
    注释:本函数仅用于通过 HTTP POST 上传的文件。
    注意:如果目标文件已经存在,将会被覆盖。

substr

  • 定义和用法
    substr() 函数返回字符串的一部分。
    注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。
  • 语法
substr(string,start,length)
参数		描述
string	必需。规定要返回其中一部分的字符串。
start	必需。规定在字符串的何处开始。
        正数 - 在字符串的指定位置开始
        负数 - 在从字符串结尾开始的指定位置开始
        0 - 在字符串中的第一个字符处开始
length	可选。规定被返回字符串的长度。默认是直到字符串的结尾。
        正数 - 从 start 参数所在的位置返回的长度
        负数 - 从字符串末端返回的长度
  • 技术细节
    返回值: 返回字符串的提取部分,若失败则返回 FALSE,或者返回一个空字符串。
    PHP 版本: 4+
    更新日志:
    在 PHP 5.2.2 到 5.2.6 版本中,如果 start 参数表示负截断或者越界位置,则返回 FALSE。
    其他版本则从 start 位置开始获取字符串。
从字符串中返回 "world"<?php
echo substr("Hello world",6);
?>
输出:world

strrpos

  • 定义和用法
    strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。
    注释:strrpos() 函数对大小写敏感。
    相关函数:
    stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
    strpos() - 查找字符串在另一字符串中第一次出现的位置(区分大小写)
    strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
  • 语法
strrpos(string,find,start)
参数		描述
string	必需。规定被搜索的字符串。
find	必需。规定要查找的字符。
start	可选。规定在何处开始搜索。
  • 技术细节
    返回值:
    返回字符串在另一字符串中最后一次出现的位置,如果没有找到字符串则返回 FALSE。
    注释: 字符串位置从 0 开始,不是从 1 开始。
    PHP 版本: 4+
    更新日志:
    自 PHP 5.0 起,find 参数可以是包含超过一个字符的字符串。
    在 PHP 5.0 中,新增了 start 参数。
查找 "php" 在字符串中最后一次出现的位置:
<?php
echo strrpos("You love php, I love php too!","php");
?>
输出:21

strtolower

  • 定义和用法
    strtolower() 函数把字符串转换为小写。
    注释:该函数是二进制安全的。
    相关函数:
    lcfirst() - 把字符串中的首字符转换为小写
    strtoupper() - 把字符串转换为大写
    ucfirst() - 把字符串中的首字符转换为大写
    ucwords() - 把字符串中每个单词的首字符转换为大写
  • 语法
strtolower(string)
参数		描述
string	必需。规定要转换的字符串。
  • 技术细节
    返回值: 返回转换为小写的字符串。
    PHP 版本: 4+
把所有字符转换为小写:
<?php
echo strtolower("Hello WORLD.");
?>
输出:hello world.

getimagesize

  • getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。
  • 语法格式:
    a
rray getimagesize ( string $filename [, array &$imageinfo ] )
getimagesize()函数将测定任何 GIFJPGPNGSWFSWCPSDTIFFBMPIFFJP2JPXJB2JPCXBMWBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。
  • 返回结果说明
    (1)索引 0 给出的是图像宽度的像素值
    (2)索引 1 给出的是图像高度的像素值
    (3)索引 2 给出的是图像的类型,返回的是数字,其中1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM
    (4)索引 3 给出的是一个宽度和高度的字符串,可以直接用于 HTML 的 标签
    (5)索引 bits 给出的是图像的每种颜色的位数,二进制格式
    (6)索引 channels 给出的是图像的通道值,RGB 图像默认是 3
    (7)索引 mime 给出的是图像的 MIME 信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如: header(“Content-type: image/jpeg”);
远程图片文件
<?php
$remote_png_url = 'http://www.runoob.com/wp-content/themes/w3cschool.cc/assets/img/logo-domain-green2.png';
$img_data = getimagesize($remote_png_url);
print_r($img_data );
?>
以上实例输出结果为:
Array
(
    [0] => 290
    [1] => 69
    [2] => 3
    [3] => width="290" height="69"
    [bits] => 8
    [mime] => image/png
)

ini_get

  • (PHP 4, PHP 5, PHP 7)
    ini_get — 获取一个配置选项的值
  • 说明
ini_get ( string $varname ) : string
成功时返回配置选项的值。
参数
varname		配置选项名称。
  • 返回值
    成功是返回配置选项值的字符串,值为null或配置选项不存在,将会返回 FALSE。
<?php
/*
我们的 php.ini 包含了以下的设置:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size in bytes = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
    $val = trim($val);
    $last = strtolower($val[strlen($val)-1]);
    switch($last) {
        // 自 PHP 5.1.0 起可以使用修饰符 'G'
        case 'g':
            $val *= 1024;
        case 'm':
            $val *= 1024;
        case 'k':
            $val *= 1024;
    }

    return $val;
}

?>
以上例程的输出类似于:
display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size in bytes = 8388608

sys_get_temp_dir

  • (PHP 5 >= 5.2.1, PHP 7)
    sys_get_temp_dir — 返回用于临时文件的目录
  • 说明
sys_get_temp_dir ( void ) : string
返回 PHP 储存临时文件的默认目录的路径。
  • 返回值
    返回临时目录的路径。
<?php
// 使用 sys_get_temp_dir() 在目录里创建临时文件
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>
以上例程的输出类似于:
C:\Windows\Temp\TuxA318.tmp

temnam

  • 定义和用法
    tempnam() 函数创建一个具有唯一文件名的临时文件。
    若成功,则该函数返回新的临时文件名。若失败,则返回 false。
  • 语法
tempnam(dir,prefix)
参数		描述
dir		必需。规定创建临时文件的目录。
prefix	必需。规定文件名的开头。
  • 说明
    在指定目录中建立一个具有唯一文件名的文件。如果该目录不存在,tempnam() 会在系统临时目录中生成一个文件,并返回其文件名。
    在 PHP 4.0.6 之前,tempnam() 函数的行为取决于系统。在 Windows 下 TMP 环境变量会越过 dir 参数,在 Linux 下 TMPDIR 环境变量优先,而在 SVR4 下总是使用 dir 参数,如果其指向的目录存在的话。
  • 提示和注释
    注释:如果 PHP 不能在指定的 dir 参数中创建文件,则退回到系统默认值。
    注释:本函数的行为在 4.0.3 版中改变了。也会建立一个临时文件以避免竞争情形,即有可能会在产生出作为文件名的字符串与脚本真正建立该文件之间会在文件系统中存在同名文件。注意,如果不再需要该文件则要删除此文件,不会自动删除的。
<?php
echo tempnam("C:\inetpub\testweb","TMP0");
?> 
输出:
C:\inetpub\testweb\TMP0.tmp

imagecreatefromjpeg

  • (PHP 4, PHP 5, PHP 7)
    imagecreatefromjpeg — 由文件或 URL 创建一个新图象。
  • 说明
imagecreatefromjpeg ( string $filename ) : resource
imagecreatefromjpeg() 返回一图像标识符,代表了从给定的文件名取得的图像。

Tip
如已启用fopen 包装器,在此函数中, URL 可作为文件名。关于如何指定文件名详见 fopen()。各种 wapper 的不同功能请参见 支持的协议和封装协议,注意其用法及其可提供的预定义变量。
参数
filename		JPEG 图像的路径。

返回值
成功后返回图象资源,失败后返回 FALSE

imagedestroy

  • (PHP 4, PHP 5, PHP 7)
    imagedestroy — 销毁一图像
  • 说明
imagedestroy ( resource $image ) : bool
imagedestroy() 释放与 image 关联的内存。image 是由图像创建函数返回的图像标识符,例如 imagecreatetruecolor()

rename

  • 定义和用法
    rename() 函数重命名文件或目录。
    若成功,则该函数返回 true。若失败,则返回 false。
  • 语法
rename(oldname,newname,context)
参数			描述
oldname		必需。规定要重命名的文件或目录。
newname		必需。规定文件或目录的新名称。
context		可选。规定文件句柄的环境。context 是可修改流的行为的一套选项。
  • 提示和注释
    注释:在 PHP 4.3.3 之前,rename() 不能在基于 *nix 的系统中跨磁盘分区重命名文件。
    注释:用于 oldname 中的封装协议必须和用于 newname 中的相匹配。
    注释:对 context 的支持是 PHP 5.0.0 添加的。
<?php
rename("images","pictures");
?>

getcwd

  • 定义和用法
    getchwd() 函数返回当前工作目录。

  • 获取当前工作目录:
<?php
echo getcwd()
?>

结果:
/home/php

file_exists

  • 定义和用法
    file_exists() 函数检查文件或目录是否存在。
    如果指定的文件或目录存在则返回 true,否则返回 false。

  • 语法

file_exists(path)
参数		描述
path	必需。规定要检查的路径。
<?php
echo file_exists("test.txt");
?>
输出:
1

unlink

  • 定义和用法
    unlink() 函数删除文件。
    若成功,则返回 true,失败则返回 false。

  • 语法

unlink(filename,context)
参数			描述
filename	必需。规定要删除的文件。
context		可选。规定文件句柄的环境。Context 是可修改流的行为的一套选项。
  • 提示和注释
    注释:对 context 的支持是 PHP 5.0.0 添加的。
<?php
$file = "test.txt";
if (!unlink($file))
  {
  echo ("Error deleting $file");
  }
else
  {
  echo ("Deleted $file");
  }
?>

header

  • 定义和用法
    header() 函数向客户端发送原始的 HTTP 报头。
    认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此问题):
<html>
<?php
// 结果出错
// 在调用 header() 之前已存在输出
header('Location: http://www.example.com/');
?>
  • 语法
header(string,replace,http_response_code)
参数					描述
string				必需。规定要发送的报头字符串。
replace				可选。指示该报头是否替换之前的报头,或添加第二个报头。
					默认是 true(替换)。false(允许相同类型的多个报头)。
http_response_code	可选。把 HTTP 响应代码强制为指定的值。(PHP 4 以及更高版本可用)
  • 提示和注释
    注释:从 PHP 4.4 之后,该函数防止一次发送多个报头。这是对头部注入攻击的保护措施。
<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>

<html>
<body>

...
...
注释:用户可能会设置一些选项来更改浏览器的默认缓存设置。通过发送上面的报头,您可以覆盖任何这些设置,强制浏览器不进行缓存!

rand

  • 定义和用法
    rand() 函数返回随机整数。
  • 语法
rand(min,max)
参数		描述
min,max	可选。规定随机数产生的范围。

说明
如果没有提供可选参数 min 和 max,rand() 返回 0RAND_MAX 之间的伪随机整数。例如,想要 515(包括 515)之间的随机数,用 rand(5, 15)
  • 提示和注释
    注释:在某些平台下(例如 Windows)RAND_MAX 只有 32768。如果需要的范围大于 32768,那么指定 min 和 max 参数就可以生成大于 RAND_MAX 的数了,或者考虑用 mt_rand() 来替代它。
    注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现在已自动完成。
    注释:在 3.0.7 之前的版本中,max 的含义是 range 。要在这些版本中得到和上例相同 5 到 15 的随机数,简短的例子是 rand (5, 11)。
本例会返回一些随机数:

<?php
echo(rand();
echo(rand();
echo(rand(10,100))
?>
输出:

17757
3794
97

intval

  • 去除小数点(0除外)的函数

  • intval() 函数用于获取变量的整数值。
    intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。
    PHP 4, PHP 5, PHP 7

  • 语法

int intval ( mixed $var [, int $base = 10 ] )
参数说明:
$var:要转换成 integer 的数量值。
$base:转化所使用的进制。
如果 base 是 0,通过检测 var 的格式来决定使用的进制:
如果字符串包括了 "0x" ("0X") 的前缀,使用 16 进制 (hex);否则,
如果字符串以 "0" 开始,使用 8 进制(octal);否则,
将使用 10 进制 (decimal)。
注:比如将0428进制进行转换时,0表示使用8进制进行转换,然后需要转换的数值为42,所以428进制转换,最后的10进制数值为34,要知道,这里所有以进制转换的,最后结果都是10进制数
  • 返回值
    成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。
    最大的值取决于操作系统。 32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647。举例,在这样的系统上, intval(‘1000000000000’) 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。
    字符串有可能返回 0,虽然取决于字符串最左侧的字符。
<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(42, 8);                   // 42
echo intval('42', 8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo', 'bar'));     // 1
?>

extract

  • 参数里数组的键名当作变量名,值作为变量的值

  • 定义和用法
    extract() 函数从数组中将变量导入到当前的符号表。
    该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。
    第二个参数 type 用于指定当某个变量已经存在,而数组中又有同名元素时,extract() 函数如何对待这样的冲突。
    该函数返回成功导入到符号表中的变量数目。

  • 语法

extract(array,extract_rules,prefix)
参数				描述
array			必需。规定要使用的数组。
extract_rules	可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。

可能的值:
EXTR_OVERWRITE - 默认。如果有冲突,则覆盖已有的变量。
EXTR_SKIP - 如果有冲突,不覆盖已有的变量。
EXTR_PREFIX_SAME - 如果有冲突,在变量名前加上前缀 prefix。
EXTR_PREFIX_ALL - 给所有变量名加上前缀 prefix。
EXTR_PREFIX_INVALID - 仅在不合法或数字变量名前加上前缀 prefix。
EXTR_IF_EXISTS - 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。
EXTR_PREFIX_IF_EXISTS - 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。
EXTR_REFS - 将变量作为引用提取。导入的变量仍然引用了数组参数的值。
prefix	
可选。请注意 prefix 仅在 extract_type 的值是 EXTR_PREFIX_SAMEEXTR_PREFIX_ALLEXTR_PREFIX_INVALIDEXTR_PREFIX_IF_EXISTS 时需要。如果附加了前缀后的结果不是合法的变量名,将不会导入到符号表中。
前缀和数组键名之间会自动加上一个下划线。
  • 技术细节
    返回值: 返回成功导入到符号表中的变量数目。
    PHP 版本: 4+
    更新日志:
    extract_rules 的值 EXTR_REFS 是在 PHP 4.3 中新增的。
    extract_rules 的值 EXTR_IF_EXISTS 和 EXTR_PREFIX_IF_EXISTS 是在 PHP 4.2 中新增的。
    自 PHP 4.0.5 起,该函数返回成功导入到符号表中的变量数目。
    extract_rules 的值 EXTR_PREFIX_INVALID 是在 PHP 4.0.5 中新增的。
    自 PHP 4.0.5 起,extract_rules 的值 EXTR_PREFIX_ALL 也包含数字变量。
将键值 "Cat""Dog""Horse" 赋值给变量 $a$b$c<?php
$a = "Original";
$my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse");
extract($my_array);
echo "\$a = $a; \$b = $b; \$c = $c";
?>
输出:$a = Cat; $b = Dog; $c = Horse

return

立即终止return所在函数的代码,继续执行该return函数外的代码

strcmp

  • 弱类型:传入数组时会返回null
  • int strcmp ( string $str1 , string $str2 )
参数 str1第一个字符串。str2第二个字符串。
如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0
  • strcmp()函数期望传入到它当中的数据是字符串类型,但是如果我们传入不合法的字符串类型的数据,这个函数将会有怎么样的行为呢?实际上,当这个函数接受到了不合法的字符串类型时,这个函数将发生错误,但是在5.3之前的php中,显示了报错的警告信息后,将return 0 !!! 也就是虽然报了错,但却返回0。php官方在后面的版本中修复了这个漏洞,使得报错的时候函数不返回任何值。

htmlentities

  • 把字符转换为html实体,改变源代码,输出不变

  • 定义和用法
    htmlentities() 函数把字符转换为 HTML 实体。
    提示:要把 HTML 实体转换回字符,请使用 html_entity_decode() 函数。
    提示:请使用 get_html_translation_table() 函数来返回 htmlentities() 使用的翻译表。

  • 语法

htmlentities(string,flags,character-set,double_encode)
参数				描述
string			必需。规定要转换的字符串。
flags			可选。规定如何处理引号、无效的编码以及使用哪种文档类型。
				可用的引号类型:
				ENT_COMPAT - 默认。仅编码双引号。
				ENT_QUOTES - 编码双引号和单引号。
				ENT_NOQUOTES - 不编码任何引号。
				无效的编码:
				ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。
				ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFDUTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。
				ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFDUTF-8)或者 &#FFFD;。
				规定使用的文档类型的附加 flags:
				ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。
				ENT_HTML5 - 作为 HTML 5 处理代码。
				ENT_XML1 - 作为 XML 1 处理代码。
				ENT_XHTML - 作为 XHTML 处理代码。
				
character-set	
				可选。一个规定了要使用的字符集的字符串。
				允许的值:
				UTF-8 - 默认。ASCII 兼容多字节的 8 位 Unicode
				ISO-8859-1 - 西欧
				ISO-8859-15 - 西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母)
				cp866 - DOS 专用 Cyrillic 字符集
				cp1251 - Windows 专用 Cyrillic 字符集
				cp1252 - Windows 专用西欧字符集
				KOI8-R - 俄语
				BIG5 - 繁体中文,主要在台湾使用
				GB2312 - 简体中文,国家标准字符集
				BIG5-HKSCS - 带香港扩展的 Big5
				Shift_JIS - 日语
				EUC-JP - 日语
				MacRoman - Mac 操作系统使用的字符集
				注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。

double_encode	可选。布尔值,规定是否编码已存在的 HTML 实体。
				TRUE - 默认。将对每个实体进行转换。
				FALSE - 不会对已存在的 HTML 实体进行编码。
  • 技术细节
    返回值:
    返回被转换的字符串。
    如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。
    PHP 版本: 4+
  • 更新日志:
    在 PHP 5 中,character-set 参数的默认值改为 UTF-8。
    在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。
    在 PHP 5.3 中,新增了 ENT_IGNORE。
    在 PHP 5.2.3 中,新增了 double_encode 参数。
    在 PHP 4.1 中,新增了 character-set 参数。
把字符转换为 HTML 实体:

<?php
$str = "<? W3S?h????>";
echo htmlentities($str);
?>
#以上代码的 HTML 输出如下(查看源代码):
<!DOCTYPE html>
<html>
<body>
<© W3Sçh°°¦§>
</body>
</html>
#以上代码的浏览器输出:
<? W3S?h????>
发布了135 篇原创文章 · 获赞 51 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_41617034/article/details/104502419