1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP常用函数小结

作者:用户 来源:互联网 时间:2017-11-30 16:29:07

php函数常用小结

PHP常用函数小结 - 摘要: 本文讲的是PHP常用函数小结, 一、字符串函数总结 一、判断类型的函数 is_bool() //判断是否为布尔型 is_float() //判断是否为浮点型 is_real() //同上 is_int() //判断是

一、字符串函数总结

一、判断类型的函数

is_bool()       //判断是否为布尔型  is_float()      //判断是否为浮点型  is_real()       //同上  is_int()        //判断是否为整型  is_integer()    //同上  is_string()     //判断是否为字符串  is_object()     //判断是否为对象  is_array()      //判断是否为数组  is_null()       //判断是否为null  is_file()       //判断是否为文件  is_dir()        //判断是否为目录  is_numeric()    //判断是否为数字  is_nan()        //判断不是数字  is_resource()   //判断是否为资源类型  is_a($obj,$classname) //判断对象是否为类的实例                        //可用 if($obj instanceof Classname)  

二、获取子串位置

strpos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中首次出现的数字位置。   stripos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中首次出现的数字位置, 不区分大小写。  strrpos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中最后一次出现的数字位置。  strripos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中最后一次出现的数字位置,不区分大小写。 

三、获取子串

substr($str,$start [,$length]); //获取子串  substr_compare($main_str,$str,$offset[,$length]); //子串比较 从offset处开始比较  substr_count($hs,$nd [,$offset=0 [,$length]]); //获取子串nd在hs中出现的次数  substr_replace($string,$replacement,$start [,$length]); //字符串子串替换                                 //用$replacement替换掉$string从start开始长度为length的子串  strstr($hys,$nd [,bool $before_needle = false ]);//返回$nd在$hys 第一次出现的地方开始到字符串结束 为止的字符串                 //第三个参数如果为true 则返回$nd 之前的字符串  stristr($hys,$nd [,bool $before_needle = false ]); //同上,忽略大小写版本  strrchr($hys,$nd); //返回$nd在$hys最后一次出现的地方开始到字符串结束 为止的字符串                 //一般和 substr(strrchr($hys,$nd),strlen($nd)); 合用  strpbrk($haystack,$char_list);//从$char_list中依次匹配单个字符在$haystack中第一次出现的地方                          //到字符串结束的地方 的整个字符串  strtok($str,$token); //第一次使用 将字符串按分隔符$token进行分割  strtok($token);      //第二次使用      eg.      $string = "This is/tan example/nstring";      /* 使用制表符和换行符作为分界符 */      $tok = strtok($string, " /n/t");      while ($tok !== false) {          echo "Word=$tok<br />";          $tok = strtok(" /n/t");      }  

四、字符串str_ 型函数

str_getcsv($str); //将csv文件字符串转换成一个数组  str_replace($search,$replace,$subject [,&$count]);//搜索并替换字符串             //第四个参数被指定的话,将会赋值给他替换的次数  str_ireplace($search,$replace,$subject [,&$count]);//搜索并替换字符串             //第四个参数被指定的话,将会赋值给他替换的次数 忽略大小写  str_shuffle(string $str);//随机打乱字符串  str_split($str [,$len=1]);//将字符串转换成一个数组                           //,每个数组单元的长度为$len  

五、字符串长度

strlen($str);  //字符串长度  

六、翻转字符串

strrev(string $string);// 翻转字符串  

七、mb_类型字符串函数

1、介绍

mb_类型字符串与上述字符串函数基本一样,只是加多一个可选的字符编码参数,用法同上。这里列出一些其他有用函数:

2、检测字符串的字符编码

$encode = mb_detect_encoding($lines, array("ASCII","UTF-8","GB2312","GBK","BIG5"));  if($encode != "UTF-8"){      $lines = iconv($encode,"UTF-8", $lines);  }  

八、字符串的相关操作

1、转换字符串类型

strval($str); //转换成字符串类型  floatval($str);//转换成浮点型  intval($str); //转换成整型  

2、大小写转换

strtolower($str); //全部转换成小写  strtoupper($str); //全部转换成大写  ucfirst($str); //字符串首字母转大写ucwords($str);  //字符串每个单词首字符转为大写

3、字符串转时间戳

strtotime($str); //时间格式的字符串转换成整型时间戳             //注意设置时区 否则会有 8小时误差  

4、去除HTML 和 PHP 标记

strip_tags($str [,$tags]);//去除不含$tags里标签外的所有标签  

5、ascii转数字 数字转ascii

chr(int $ascii); //数字转换成ascii  ord(string $str); //返回$str第一个字符的ascii值  

6、json的编码与解码

json_encode($obj/$arr/$str...);//编码成json 格式的字符串  json_decode($jsonstr [,$assoc=true]); //解码成对象                           //当$assoc=true 时 返回数组 而非对象 

7、换行转

nl2br($str); //字符串 $str 所有新行之前插入'<br/>'  

8、数组转字符串,字符串转数组

implode($arr,$glue);//将一维数组转换为字符串  explode();//字符串转换为数组  

9、千位分割格式化

string number_format ( float $number [, int $decimals = 0 ] )  string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' )   @param   $number 你要格式化的数字             $decimals 要保留的小数位数             $dec_point 指定小数点显示的字符             $thousands_sep 指定千位分隔符显示的字符 

10、去空格

trim(string $str [,string $charlist ]); //去左右字符  ltrim(string $str [,string $charlist ]); //去左字符  rtrim(string $str [,string $charlist ]); //去右字符  

11、把字符串填充为指定的长度:str_pad()

说明:输入: 要填充的字符串|新字符串的长度|供填充使用的字符串, 默认是空白。输出: 完成后的字符串eg:$str = "Hello World";echo str_pad($str,20,".");  //Hello World.........

12、重复使用指定字符串:str_repeat()

eg: echo str_repeat(".",13); // 要重复的字符串|字符串将被重复的次数13个点

13、把字符串分割到数组中:str_split()

说明:输入: 要分割的字符串|每个数组元素的长度,默认1     输出: 拆分后的字符串数组eg:print_r(str_split("Hello"));

14、将字符串解析成变量:parse_str()

说明:输入: 要解析的字符串|存储变量的数组名称eg:parse_str("id=23&name=John%20Adams", $myArray);print_r($myArray);输出: 返回Array( [id] => 23 [name] => John Adams)

15、统计字符串含有的单词数:str_word_count()

16、统计字符串中所有字母出现次数(0..255) :count_chars()

17、在字符串中某些预定义的字符前添加反斜线:quotemeta()

eg:$str = "Hello world. (can you hear me?)";echo quotemeta($str); // Hello world/. /(can you hear me/?/)

18、指定预定义字符前添加反斜线:addslashes()

eg:$str = "Who's John Adams?";echo addslashes($str);输出: 把目标串中的' " /和null进行转义处理

19、删除由addslashes()添加的转义字符:stripslashes()

echo stripslashes("Who/'s John Adams?"); // 清除转义符号Who's John Adams?

20、在指定的字符前添加反斜线转义字符串中字符:addcslashes()

eg:$str = "Hello, my name is John Adams.";echo $str;echo addcslashes($str,'m');

21、删除由addcslashes()添加的反斜线:stripcslashes()

eg:echo stripcslashes("Hello, /my na/me is Kai Ji/m.");    // 目标字符串 Hello, my name is Kai Jim.

22、把字符转为HTML实体:htmlentities()

eg:$str = "John & 'Adams'";echo htmlentities($str, ENT_COMPAT); // John & 'Adams'

23、预定义字符转html编码:htmlspecialchars()




二、数组函数总结

一、数组的键/值操作函数

array_values($arr);  //获得数组的值array_keys($arr);  //获得数组的键名array_flip($arr);  //数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr);  //在数组中检索applearray_search("apple",$arr);  //在数组中检索apple ,如果存在返回键名array_key_exists("apple",$arr);  //检索给定的键名是否存在数组中isset($arr[apple]):   //检索给定的键名是否存在数组中

二、统计数组元素的个数和唯一性

count();//计算数组中的单元数目,或对象中的属性个数array_count_values();//统计数组中所有的值array_unique();//移除数组中重复的值

三、使用回调函数处理数组的函数

------------------------------------------------------------------------------------array_walk($arr,'function','words');  //使用用户函数对数组中的每个成员进行处理(第三个参数传递给回调函数function)$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");function test_alter(&$item1, $key, $prefix){    $item1 = "$prefix: $item1";}function test_print($item2, $key){    echo "$key. $item2<br />/n";}echo "Before ...:/n";array_walk($fruits, 'test_print');array_walk($fruits, 'test_alter', 'fruit');echo "... and after:/n";array_walk($fruits, 'test_print');//以上例程会输出:Before ...:d. lemona. orangeb. bananac. apple... and after:d. fruit: lemona. fruit: orangeb. fruit: bananac. fruit: apple------------------------------------------------------------------------------------array_map("function",$arr1,$arr2);  //可以处理多个数组(当使用两个或更多数组时,他们的长度应该相同)function cube($n){    return($n * $n * $n);}$a = array(1, 2, 3, 4, 5);$b = array_map("cube", $a);print_r($b);//以上例程会输出:Array(    [0] => 1    [1] => 8    [2] => 27    [3] => 64    [4] => 125)------------------------------------------------------------------------------------array_filter($arr,"function");  //使用回调函数过滤数组中的每个元素,如果回调函数为TRUE,数组的当前元素会被包含在返回的结果数组中,//数组的键名保留不变function odd($var){    // returns whether the input integer is odd    return($var & 1);}function even($var){    // returns whether the input integer is even    return(!($var & 1));}$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);$array2 = array(6, 7, 8, 9, 10, 11, 12);echo "Odd :/n";print_r(array_filter($array1, "odd"));echo "Even:/n";print_r(array_filter($array2, "even"));//以上例程会输出:Odd :Array(    [a] => 1    [c] => 3    [e] => 5)Even:Array(    [0] => 6    [2] => 8    [4] => 10    [6] => 12)------------------------------------------------------------------------------------array_reduce($arr,"function","*");  //转化为单值函数(*为数组的第一个值)function sum($carry, $item){    $carry += $item;    return $carry;}function product($carry, $item){    $carry *= $item;    return $carry;}$a = array(1, 2, 3, 4, 5);$x = array();var_dump(array_reduce($a, "sum")); // int(15)var_dump(array_reduce($a, "product", 10)); // int(1200), because: 10*1*2*3*4*5var_dump(array_reduce($x, "sum", "No data to reduce")); // string(17) "No data to reduce"------------------------------------------------------------------------------------

四、数组的排序函数

//通过元素值对数组排序sort($arr);  //由小到大的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序rsort($arr);  //由大到小的顺序排序(第二个参数为按什么方式排序)忽略键名的数组排序usort($arr,"function");  //使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)忽略键名的数组排序asort($arr);  //由小到大的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序arsort($arr);  //由大到小的顺序排序(第二个参数为按什么方式排序)保留键名的数组排序uasort($arr,"function");  //使用用户自定义的比较函数对数组中的值进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)保留键名的数组排序//通过键名对数组排序ksort($arr);  //按照键名正序排序krsort($arr);  //按照键名逆序排序uksort($arr,"function");  //使用用户自定义的比较函数对数组中的键名进行排序(function中有两个参数,0表示相等,正数表示第一个大于第二个,负数表示第一个小于第二个)//自然排序法排序natsort($arr);  //自然排序(忽略键名)natcasesort($arr);  //自然排序(忽略大小写,忽略键名)

五、拆分、合并、分解和接合数组

 array_slice()//从数组中取出一段 array_splice()//删除 array_combine()//合并 array_merge();//合并 array_intersect();//多个数组的交集 array_intersect_assoc($arr1,$arr2);  //返回交集结果数组,键名也做比较 array_diff();//返回多个数组的差集 array_diff_assoc($arr1,$arr2,$arr3);  //返回差集结果数组,键名也做比较

六、数组与数据结构

//1.使用数组实现堆栈 //先进后出array_push(); //将一个或多个单元压入数组的末尾(入栈)array_pop();//弹出数组最后一个单元(出栈)//2.使用数组实现队列 //先进先出array_unshift();//在数组开头插入一个或多个单元array_shift(); //将数组开头的单元移出数组unset();//释放给定的变量

七、其他有用的数组处理函数

range(0,12);  //创建一个包含指定范围单元的数组array_reverse($arr,TRUE);  //返回一个单元顺序与原数组相反的数组,如果第二个参数为TRUE保留原来的键名array_rand($arr,2);  //从数组中随机取出一个或 多个元素shuffle($arr);  //将数组的顺序打乱array_sum($arr);  //对数组内部的所有元素做求和运算key(); 返回数组内部指针当前指向元素的键名    current();  //返回数组中的当前元素(单元).    next();  //把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值  prev();  //把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值   end();  //将数组内部指针指向最后一个元素,并返回该元素的值(如果成功)  reset();  //把数组的内部指针指向第一个元素,并返回这个元素的值    list();  //用数组中的元素为一组变量赋值shuffle();  //将数组打乱,保留键名each();  //返回数组中当前的键/值对并将数组指针向前移动一步



三、文件函数总结

一、解析路径

1、获得文件名:basename();

说明:给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。eg:$path = "/home/httpd/html/index.php";$file = basename($path,".php"); // $file is set to "index"

2、得到目录部分:dirname();

说明:给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。eg:$path = "/etc/passwd";$file = dirname($path); // $file is set to "/etc"

3、得到路径关联数组:pathinfo();

说明:得到一个指定路径中的三个部分:目录名,基本名,扩展名。eg:$pathinfo = pathinfo("www/test/index.html");var_dump($pathinfo);// $path['dirname']$path['basename']$path['extenssion']

二、文件类型

1、返回文件的类型:filetype();

说明:可能的值有 fifo,char,dir,block,link,file 和 unknown。eg:echo filetype('/etc/passwd'); // fileecho filetype('/etc/');        // dir

三、得到给定文件有用信息数组(很有用)

1、通过已打开的文件指针取得文件信息:fstat();

说明:获取由文件指针 handle 所打开文件的统计信息。本函数和 stat() 函数相似,除了它是作用于已打开的文件指针而不是文件名。eg:// 打开文件$fp = fopen("/etc/passwd", "r");// 取得统计信息$fstat = fstat($fp);// 关闭文件fclose($fp);// 只显示关联数组部分print_r(array_slice($fstat, 13));

2、获取由 filename 指定的文件的统计信息(类比fstat()):stat();

四、计算大小

1、返回文件大小的字节数:filesize();

说明:返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。eg:// 输出类似:somefile.txt: 1024 bytes$filename = 'somefile.txt';echo $filename . ': ' . filesize($filename) . ' bytes';

2、获得目录所在磁盘分区的可用空间(字节单位):disk_free_space();

// $df 包含根目录下可用的字节数$df = disk_free_space("/");//在 Windows 下:disk_free_space("C:");disk_free_space("D:");

3、返回一个目录的磁盘总大小: disk_total_space();

eg:(同上,换掉函数)

五、 访问与修改时间

  1. fileatime():最后访问时间
  2. filectime():最后改变时间(任何数据的修改)
  3. filemtime():最后修改时间(指仅是内容修改)

六、 文件的I/O操作

1、打开文件或者 URL:fopen

mode 说明'r' 只读方式打开,将文件指针指向文件头。'r+' 读写方式打开,将文件指针指向文件头。'w' 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。'w+' 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。'x' 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE'x+' 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSEeg:$handle = fopen("/home/rasmus/file.txt", "r");

2、把整个文件读入一个数组中(此函数是很有用的):file

说明:和 file_get_contents() 一样,只除了 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败 file() 返回 FALSE。eg:$lines = file('http://www.example.com/');// 在数组中循环,显示 HTML 的源文件并加上行号。foreach ($lines as $line_num => $line) {echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />/n";}// 另一个例子将 web 页面读入字符串。参见 file_get_contents()。$html = implode('', file ('http://www.example.com/'));

3、从文件指针中读取一行:fgets

说明:从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。eg:$handle = @fopen("/tmp/inputfile.txt", "r");if ($handle) {while (!feof($handle)) {$buffer = fgets($handle, 4096);echo $buffer;}fclose($handle);}

4、从文件指针中读取一行并过滤掉 HTML 标记:fgetss

说明:和 fgets() 相同,只除了 fgetss 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。

5、从文件指针中读取一行:fgets()

说明:调用: string fgets ( int handle [, int length] ) 输出: 从handle指向的文件中读取一行并返回长度最多为length-1字节的字符串.碰到换行符(包括在返回值中)、EOF 或者已经读取了length -1字节后停止(看先碰到那一种情况). 如果没有指定 length,则默认为1K, 或者说 1024 字节.eg:$handle = @fopen("/tmp/inputfile.txt", "r");if ($handle) {while (!feof($handle)) {$buffer = fgets($handle, 4096);echo $buffer;}fclose($handle);}

6、从文件指针中读取字符:fgetc()

说明:输入: string fgetc ( resource $handle ) 输出: 返回一个包含有一个字符的字符串,该字符从 handle指向的文件中得到. 碰到 EOF 则返回 FALSE.eg:$fp = fopen('somefile.txt', 'r');if (!$fp) {echo 'Could not open file somefile.txt';}while (false !== ($char = fgetc($fp))) {echo "$char/n";}

7、输出一个文件:readfile()

说明: 调用: int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )输出: 读入一个文件并写入到输出缓冲。返回从文件中读入的字节数。如果出错返回 FALSE

8、将整个文件读入一个字符串:file_get_contents()

说明: 调用: string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )eg:echo file_get_contents('http://www.baidu.com');

9、返回文件指针读/写的位置:ftell()

说明:调用: int ftell ( resource $handle ) 输出: 返回由 handle 指定的文件指针的位置,也就是文件流中的偏移量。eg:$fp=fopen('tx.txt','r');fseek($fp,10);echo ftell($fp);fread($fp,4);echo ftell($fp);

10、在文件指针中定位:fseek()

说明:调用: int fseek ( resource $handle , int $offset [, int $whence ] ) 输出: 成功则返回 0;否则返回 -1。eg:$fp=fopen('tx.txt','r');fseek($fp,10);echo ftell($fp);fread($fp,4);echo ftell($fp);

11、倒回文件指针的位置:倒回文件指针的位置:rewind()

说明:调用: bool rewind ( resource $handle ) 返回值: 如果成功则返回 TRUE,失败则返回 FALSE。eg:$fp=fopen('tx.txt','r');fseek($fp,3);echo ftell($fp);fread($fp,4);rewind($fp);echo ftell($fp);

12、轻便的执行文件锁定:flock()

说明:调用: bool flock ( int $handle , int $operation [, int &$wouldblock ] ) 输出: 如果成功则返回 TRUE,失败则返回 FALSE。eg:$fp=fopen('tx.txt','r');flock($fp, LOCK_SH);//共享锁//flock($fp, LOCK_EX);//独立锁,写文件时用它打开//flock($fp, LOCK_NB);//附加锁flock($fp, LOCK_UN);//释放锁fclose($fp);

13、写入文件:fwrite()

说明:调用: int fwrite ( resource handle, string string [, int length] )输出: 把 string 的内容写入 文件指针 handle 处。如果指定了 length,当写入了length个字节或者写完了string以后,写入就会停止, 视乎先碰到哪种情况。eg:$filename = 'test.txt';$somecontent = "添加这些文字到文件/n";$handle = fopen($filename, 'a');fwrite($handle, $somecontent);fclose($handle);

14、fputs():同上 

七、 对文件属性的操作(操作系统环境不同,可能有所不一样,这点要注意)

1、文件是否可读:bool is_readable ( string filename )

 说明:如果由 filename 指定的文件或目录存在并且可读则返回 TRUE

2、文件是否可写:bool is_writable ( string filename )

说明: 如果文件存在并且可写则返回 TRUE。filename 参数可以是一个允许进行是否可写检查的目录名。

3、检查文件是否存在:bool file_exists ( string filename )

说明:如果由 filename 指定的文件或目录存在则返回 TRUE,否则返回 FALSE

4、判断给定文件是否可执行:is_executable()

说明:调用: bool is_executable ( string $filename ) 输出: 如果文件存在且可执行则返回 TRUE。eg:$file = 'setup.exe';if (is_executable($file)) {echo '可执行';} else {echo '不可执行';}

5、获取文件的创建时间:filectime()

说明:调用: int filectime ( string $filename ) 输出: 时间以 Unix 时间戳的方式返回,如果出错则返回FALSE。eg:$filename = 'somefile.txt';echo filectime($filename);

6、获取文件的修改时间:filemtime()

说明:输出: 返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix时间戳的方式返回。eg:$filename = 'somefile.txt';echo filemtime($filename);

7、获取文件的上次访问时间:fileatime()

说明:输出: 返回文件上次被访问的时间, 如果出错则返回FALSE. 时间以Unix时间戳的方式返回。eg:$filename = 'somefile.txt';echo fileatime($filename);

八、对的目录的操作

1、打开目录句柄:opendir

说明:打开目录句柄,打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。

2、从目录句柄中读取条目:readdir

说明:从目录句柄中读取条目,返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。eg:if ($handle = opendir('/path/to/files')) {echo "Directory handle: $handle/n";echo "Files:/n";while (false !== ($file = readdir($handle))) {echo "$file/n";}while ($file = readdir($handle)) {echo "$file/n";}     closedir($handle);}

3、 列出指定路径中的文件和目录:scandir

说明:列出指定路径中的文件和目录(很有用),返回一个 array,包含有 directory 中的文件和目录。默认的排序顺序是按字母升序排列。如果使用了可选参数 sorting_order(设为 1),则排序顺序是按字母降序排列。eg:$dir    = '/tmp';$files1 = scandir($dir);$files2 = scandir($dir, 1);print_r($files1);print_r($files2);   

4、关闭目录句柄:closedir()

$fp=opendir('E:/xampp/htdocs/php/study/19');echo readdir($fp);closedir($fp);

5、删除目录:rmdir()

说明:调用: bool rmdir ( string $dirname ) 输出: 尝试删除 dirname 所指定的目录。目录必须是空的,而且要有相应的权限。如果成功则返回TRUE,失败则返回 FALSE。eg:rmdir('123');

6、删除文件:unlink()

说明:调用: bool unlink ( string $filename ) 输出: 删除 filename 。和 Unix C 的 unlink() 函数相似。如果成功则返回 TRUE,失败则返回 FALSE。eg:unlink('123/1.txt');rmdir('123');

7、拷贝文件:copy()

说明:调用: bool copy ( string $source , string $dest ) 输出: 将文件从 source 拷贝到 dest. 如果成功则返回TRUE,失败则返回 FALSE。eg:copy('index.php','index.php.bak');

8、重命名一个文件或目录:rename()

说明:调用: bool rename ( string $oldname , string $newname [, resource $context ] ) 输出: 如果成功则返回 TRUE,失败则返回 FALSE。eg:rename('tx.txt','txt.txt');

9、判断文件是否是通过 HTTP POST上传的:is_uploaded_file()

eg:if(is_uploaded_file($_FILES['bus']['tmp_name'])){if( move_uploaded_file($_FILES['bus']['tmp_name'],$NewPath) ){echo '上传成功<br /><img src="'.$NewPath.'">';}else{exit('失败');}}else{exit('不是上传文件');}

10、将上传的文件移动到新位置:move_uploaded_file()

if(is_uploaded_file($_FILES['bus']['tmp_name'])){if( move_uploaded_file($_FILES['bus']['tmp_name'],$NewPath) ){echo '上传成功<br /><img src="'.$NewPath.'">';}else{exit('失败');}}else{exit('不是上传文件');}



四、数学函数总结

1、求绝对值:abs()

eg:abs(-5);        //求-5的绝对值,得5

2、求反正弦:asin()

eg:asin(0.44); //求0.44的反正弦,具体结果多少没执行不知道

3、进一法取整:ceil()

eg:ceil(9.7);      //进一法取整,得10

4、十进制转二进制:decbin()

eg:decbin(2);  //将十进制的2转为二进制的2,得10

5、舍去法取整:floor()

eg:floor(9.9); //舍去法取整,得9

6、求最大值:max()

eg:max(7,13,41,22,91,32);  //取最大值,得91

7、求最小值:min()

eg:min(7,13,41,22,91,32);      //取最小值,得7

8、指数表达式:pow()

eg:pow(2,5);   //求2的5次方是多少,得32

9、产生一个随机数:mt_rand(min,max)(效率更高) / rand(min,max)

eg:mt_rand(0,25);  //在0~25的范围内产生一个随机数,0与25都是可选参数rand(0,25); //在0~25的范围内产生一个随机数,0与25都是可选参数

10、对浮点型四舍五入:round()

eg:round(9.453);       //四舍五入取整,得9。

11、求正弦:sin()

eg:sin(60);        //求正弦sin60

12、平方根:sqrt()

eg:sqrt(49);       //开49平方根,得7



五、时间日期函数总结

1、 返回当前的 Unix 时间戳:time()

调用: int time ( void ) 输出: 返回自从 Unix 纪元(格林威治时间 19701100:00:00)到当前时间的秒数

2、取得一个日期的 Unix 时间戳:mktime()

mktime(0, 0, 0, 4, 25, 2012);调用: int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )   date(): 格式化一个本地时间/日期:date('Y年m月d日 H:i:s');调用: string date ( string $format [, int $timestamp ] )输出: 2016091020:45:54

3、 验证一个格里高里日期:checkdate()

说明:调用: bool checkdate ( int $month , int $day , int $year) 输出: 如果给出的日期有效则返回 TRUE,否则返回 FALSEeg:if(checkdate(6,31,2012)){echo '成立';}else{echo '不成立';}

4、设定用于一个脚本中所有日期时间函数的默认时区:date_default_timezone_set()

说明:调用: bool date_default_timezone_set ( string $timezone_identifier)返回值: 如果 timezone_identifier 参数无效则返回 FALSE,否则返回 TRUE。eg:date_default_timezone_set('PRC');

5、取得日期/时间信息:getdate()

说明:输出: 返回一个根据timestamp得出的包含有日期信息的关联数组。如果没有给出时间戳则认为是当前本地时间eg:$t=getdate();var_dump($t);

6、返回当前 Unix 时间戳和微秒数:microtime()

$start=microtime(true);sleep(3);$stop=microtime(true);echo $stop-$start;

7、将任何英文文本的日期时间描述解析为 Unix 时间戳:strtotime()

echo strtotime("now");int strtotime ( string $time [, int $now ] )  echo strtotime("10 September 2000");echo strtotime("+1 day");echo strtotime("+1 week");echo strtotime("+1 week 2 days 4 hours 2 seconds");echo strtotime("next Thursday");echo strtotime("last Monday");

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 函数 , 常用 小结 ,以便于您获取更多的相关知识。