PHP常用函数小结
来源:互联网 发布:ubuntu apt 安装jdk 编辑:程序博客网 时间:2024/05/21 09:01
一、字符串函数总结
一、判断类型的函数
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:(同上,换掉函数)
五、 访问与修改时间
- fileatime():最后访问时间
- filectime():最后改变时间(任何数据的修改)
- 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 纪元(格林威治时间 1970 年 1 月 1 日 00: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 ] )输出: 2016年09月10日 20: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常用函数小结
- PHP常用函数小结
- PHP常用字符串函数小结
- php常用字符串函数小结
- php常用字符串函数小结
- php常用字符串函数小结
- PHP 正则表达式常用函数使用小结
- PHP 正则表达式常用函数使用小结
- PHP 正则表达式常用函数使用小结
- PHP 正则表达式常用函数使用小结
- 常用实用的php函数小结
- php ob系列函数中常用函数小结
- PHP取整数函数常用的四种方法小结
- PHP 常用小结
- STL常用函数小结
- 常用函数小结
- mysql常用函数小结
- php 函数小结
- 实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
- [USACO08OCT]牧场散步Pasture Walking
- P1457 城堡 The Castle
- 洛谷 P1213 时钟 &&IOI 1994 The Clocks
- 洛谷 P1074 靶形数独
- PHP常用函数小结
- 洛谷 P2668 斗地主
- 2471. [EZOI 2016]源氏的数学课
- 1002. [WZOI2011 S3] 周年纪念日
- java中类加载顺序
- 1685. [NOI2014]魔法森林
- #9. 【UTR #1】vfk的数据
- #22. 【UR #1】外星人
- 51nod1431 快乐排队