HP常用函数总结(一):
生活随笔
收集整理的這篇文章主要介紹了
HP常用函数总结(一):
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
<?php echo "<pre>"; //===============================時間日期===============================//y返回年最后兩位,Y年四位數(shù),m月份數(shù)字,M月份英文。d月份幾號數(shù)字,D星期幾英文 $date=date("Y-m-d"); $date=date("Y-m-d H:i:s");//帶時分秒//mktimes轉換成UNIX時間戳 參數(shù) mktime(hour,minute,second,mouth,day,year); 依次從右左向右 時分秒 月 日 年; $str=date("Y-m-d",mktime(0,0,0,13,36,2007));//time();//獲取當前時間戳; $int=time();//getdate();//返回時間戳組成的關聯(lián)數(shù)組 getdate();//microtime() //返回一個當前的微秒數(shù)值; microtime(true);//include,include_once.require,require_once //require("file.php") 在PHP程序執(zhí)行前就會先讀入require所指定引進的文件,如出現(xiàn)錯誤是致命的。 //include("file.php") 可以放在PHP程序的任何位置,PHP程序執(zhí)行到時才讀入include指定引入的文件,如出現(xiàn)錯誤會提示//===============================輸出打印=============================== //sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不輸出。 //printf("%d","3.2") ;//即格式化,又輸出 //print("3.2") ;//只輸出 //echo "nihao","aa";//可以輸出多個字符串 //print_r(array("a","b","c"));//將數(shù)組的鍵值與元素依次顯示 //var_dump($string);//打印輸出一個對象//===============================常用字符串函數(shù)======================================//獲取字符串長度,有多少個字符,空格也算 $str=" sdaf sd "; $len=strlen($str);//用第一個參數(shù)里的字符串,把后面數(shù)組里的每個元素連接起來,返回一個字符串。 $str=implode("-",array("a","b","c")); //echo $str; //字符串分割方法,返回一個數(shù)組,用第一個參數(shù)里的字符分割后面的字符串,指定字符的前后和之間都截取,如果指定字符在開頭或結尾則返回的數(shù)組開頭或結尾的元素為空字符串 //沒有分割到字符串就返回給數(shù)組對應元素一個空值。最后一個限制返回數(shù)組長度,可不限制,則一直分割下去。 $array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4); //print_r($array);//剔除字符串左邊開頭的空格,并返回 //如有第二個參數(shù)則是剔除左邊開頭的空格換成剔除第二個參數(shù)里的字符串 $str=ltrim("a asd ","a");//剔除字符串右邊開頭的空格 $str=rtrim(" asd ");//把第一個字符串兩邊以第二個參數(shù)開頭的字符串剔除。如沒有第二個參數(shù),默認剔除掉字符串兩邊開頭的空格 $str=trim(" sdsdfas ","a");//從字符串第一個參數(shù)里的指定位置開始取多長(多少個)字符,字符串中第一個字符位置從0算。 //如果第二個參數(shù)為負則從字符串結尾倒數(shù)第幾個開始取多長的字符串。結尾最后一個字符算-1,截取方向總是從左到右 $str=substr("abcdefgh",0,4);//將第三個參數(shù)的第一個參數(shù)字符串用參數(shù)二字符串替換 $str=str_replace("a","","abcabcAbca"); //與str_replace用法同,只是不區(qū)分大小寫 //$str=str_ireplace("a"," ","abcabcAbca");//1.str_replace(array,string,string,count);將array中的元素替換替換成string中的字符串被替換為count次$value=array('h','e','l','o');$string="Hello world";$str=str_replace($value,"",$string)."<br>";//2.str_ireplace(array,string,string,count); 不區(qū)分大小寫$value=array('a','b','D','0','W','i');$str=str_ireplace($value,"",$string)."<br>";//3.str_replace(array,array,string,count);將array中的數(shù)組元素替換替換成arrat中的數(shù)組元素 并且是一一對應對應 被替換為count次$value=array('h','e','l','o');$string="Hello world";$replace=array('f','u','c','...');$str= str_replace($value,$replace,$string)."<br>";//4.str_ireplace(array,array,string,count); 不區(qū)分大小寫$value=array('a','b','D','0','W','i');$replace=array('f','u','c','...');$str =str_ireplace($value,$replace,$string)."<br>";//返回括號里字符串的字符全部大寫的字符串 $str=strtoupper("sdaf");//將括號里第一個字符串變成大寫后返回 $str=ucfirst("asdf");//用echo等將括號里字符串打印在網(wǎng)頁上時原汁原味打印出括號里的字符串,包括標簽字符 $str=htmlentities("<br/>");//返回第二個參數(shù)字符串在第一個字符串里出現(xiàn)的次數(shù) $int=substr_count("abcdeabcdeablkabd","ab");//返回第二個字符串在第一個字符串第一次出現(xiàn)的位置,第一個字符位置算0 $int=strpos("asagaab","ab");//返回第二個字符串在第一個字符串最后一次出現(xiàn)的位置,第一個字符位置算0 $int=strrpos("asagaabadfab","ab");//截取返回參數(shù)一中從左至右第一個出現(xiàn)的參數(shù)二到參數(shù)一最后一個字符的字符串 $str=strstr("sdafsdgaababdsfgs","ab");//截取返回參數(shù)一中從左至右最后一個出現(xiàn)的參數(shù)二到參數(shù)一最后一個字符的字符串 $str=strrchr("sdafsdgaababdsfgs","ab");//將參數(shù)二中每一個字符在參數(shù)一中相同字符前加"\" $str=addcslashes("abcdefghijklmn","akd");//將參數(shù)一的字符串填充到參數(shù)二指定的長度(單字符個數(shù)),參數(shù)三為指定填充的字符串,不寫默認空格 //參數(shù)四填充位置,0在參數(shù)一左側開頭填充,1右側開頭,2兩邊開頭同時。不寫默認在右側開頭填充 $str=str_pad("abcdefgh",10,"at",0);//依次比較兩字符串對應字符阿斯克碼值,第一對不一樣的,如果參數(shù)一里大于參數(shù)二里的返回1,反之返回-1,兩字符串完全一樣返回0 $int1=strcmp("b","a");//返回第一個參數(shù)格式化后的數(shù)字格式,第二個參數(shù)為保留幾個小數(shù),參數(shù)三為將小數(shù)點換成參數(shù)三,參數(shù)四為整數(shù)部分每三位用什么字符分割 //后面三個參數(shù)都不寫,則默認去掉小數(shù)部分,整數(shù)每隔三位用逗號,分割。參數(shù)三,參數(shù)四必須同時存在 $str=number_format(1231233.1415,2,"d","a");//=================================================常用正則函數(shù)=====================================================//1.preg_match$pattern="/(http):\/\/(www|ftp|email|wap|m)\W([0-9a-z]*)\W(org|cn|com|fuck|2B)/";$string.="這個是x人百度的網(wǎng)站http://www.baidu.com";$string.="這個是X人騰訊的網(wǎng)站http://www.qq.com";$string.="這個是x人谷歌的網(wǎng)站http://www.google.com";/*$matches: 返回一個數(shù)組正則表達式的子模式是使用括號()括起來的模式單元,只匹配第一個網(wǎng)址mathces[0] :表示的是pattern中匹配出來的整體內(nèi)容mathces[1]: 表示的是pattern中匹配出來的第一個()的內(nèi)容mathces[2]: 表示的是pattern中匹配出來的第二個()的內(nèi)容Array([0] => http://www.baidu.com[1] => http[2] => www[3] => baidu[4] => com)*/preg_match($pattern,$string,$matches);//print_r($matches);/*---------------------------------------------------------------------------------------------------------*///2.preg_match_all$pattern="/(http):\/\/(www|ftp|email|wap|m)\W([0-9a-z]*)\W(org|cn|com|fuck|2B)/";$string.="這個是x人百度的網(wǎng)站http://www.baidu.com";$string.="這個是X人騰訊的網(wǎng)站http://www.qq.com";$string.="這個是x人谷歌的網(wǎng)站http://www.google.com";/*$matches: 返回一個數(shù)組正則表達式的子模式是使用括號()括起來的模式單元,Array([0] => Array([0] => http://www.baidu.com[1] => http://www.qq.com[2] => http://www.google.com[3] => http://www.baidu.com[4] => http://www.qq.com[5] => http://www.google.com)[1] => Array([0] => http[1] => http[2] => http[3] => http[4] => http[5] => http)[2] => Array([0] => www[1] => www[2] => www[3] => www[4] => www[5] => www)[3] => Array([0] => baidu[1] => qq[2] => google[3] => baidu[4] => qq[5] => google)[4] => Array([0] => com[1] => com[2] => com[3] => com[4] => com[5] => com))*/preg_match_all($pattern,$string,$matches); /*---------------------------------------------------------------------------------------------------------*///3.preg_replace/*替換將string中的字符串以pattern 規(guī)則匹配出來的用replace進行l(wèi)imit次替換*/preg_replace($pattern,$replace,$string,$limit);$pattern ="/<[\/]*[^<>]*>/i";$string="這個文本中有<b>粗體</b>和<u>帶下劃線</u>以及<i>斜體</i>還有<font color='red' size=7>帶有顏色和大小</font>的標記";//echo $string."<br>";$temp_string = preg_replace($pattern,"",$string,1);//echo $temp_string."<br>";/*逆向引用將 01/25/2009 搜索到的用()進行分割 $(3) 來進行代替 逆向引用*/$pattern="/(\d{2})\/(\d{2})\/(\d{4})/";$string="今年春節(jié)放假日期為01/25/2009到02/02/2009共七天.";$temp_string = preg_replace($pattern,"\${3}-\${1}-\${2}",$string); //echo $temp_string."<br>";/*使用修正符可以將需要替換的文字進行php函數(shù)處理并且可以相加*/$pattern ="/(<\/?)(\w+)([^>]*>)/e";$string="這個文本中有<b>粗體</b>和<u>帶下劃線</u>以及<i>斜體</i>還有<font color='red' size=7>帶有顏色和大小</font>的標記";//echo preg_replace($pattern,"'\\1'.md5('\\2').'\\3'",$string);//數(shù)組替換$string = "將本行文本[b]加粗[/b]將本行文本改為[i]斜體[/i]將本行文本加上[u]下滑下[/u]將本行文字大小為[font=20px][color=red]20px字,紅色[/color][/font][algin=center]將本行居中[/algin]連接到[url=http://bbs.sha_biwanyi.com]傻逼玩意[/url]給[email=shabi@caonima.fuck]草泥馬[/email]發(fā)信本行[b][i][u][algin=center]本行為加粗,斜體并帶有下劃線,而且居中的文字[/algin][/u][/i][/b]";$pattern=array("/(\r\n)|(\n)/","/\[b\]/i","/\[\/b\]/i","/\[i\]/i","/\[\/i\]/i","/\[u\]/i","/\[\/u\]/i","/\[font=\s*([0-9]*px|em)\s*\]/i","/\[color=\s*(#[0-9]*|[a-zA-z]*)\]/i","/\[algin=(center|left|right)\]/i","/\[url=(https?|ftp):(\/\/)(www|bbs|m)\.([^\W]*)\.(com|cn)\](.*)\[\/url\]/i","/\[email=([^\W]+@[^\W]+)\.([^\W]+)\](.*)\[\/email\]/i","/\[\/font\]/i","/\[\/color\]/i","/\[\/algin\]/i");$replace=array("<br>","<b>","</b>","<i>","</i>","<u>","</u>","<span style='font-size:\\1'>","<span style='color:\\1'>","<p style='text-align:\\1'>","<a href='\\1:\\2\\3.\\4.\\5'>\\6</a>","<a href='Mailto:\\1.\\2'>\\3</a>","</span>","</span>","</p>");preg_replace($pattern,$replace,$string);/*---------------------------------------------------------------------------------------------------------*///4.preg_grep/*匹配數(shù)組中的元素返回與正則表達式匹配成功的數(shù)組單元Array([0] => Linux RedHat9.0[1] => Apache2.2.9[2] => MySql5.0.51[3] => PHP5.6[5] => VS2010)*/$array = array("Linux RedHat9.0","Apache2.2.9","MySql5.0.51","PHP5.6","Winows","VS2010");$pattern = "/[a-zA-Z]+(\d|\.)+/";$array = preg_grep($pattern,$array);//=================================================常用數(shù)據(jù)庫函數(shù)====================================================/*---------------------------------------連接數(shù)據(jù)庫-----------------------------------------------------------------*///mysql_connect('localhost','root','123456'); //mysql_error(); 連接數(shù)據(jù)庫錯誤信息 //mysql_errno(); 連接數(shù)據(jù)庫錯誤號 $link = mysql_connect('localhost','root','123456') or die('連接錯誤'.mysql_error());//mysql_select_db 選擇數(shù)據(jù)庫 參數(shù):1.數(shù)據(jù)庫名稱 2.建立的連接 mysql_select_db('0537byby',$link) or die('不能夠選擇數(shù)據(jù)庫:'.mysql_error());/*---------------------------------------執(zhí)行inset update delete 數(shù)據(jù)庫命令-----------------------------------------------*/ /*執(zhí)行數(shù)據(jù)庫語句 @param str sql語句 @return boolean 成功返回true 失敗返回false; */$result = mysql_query($sql);/*查看一共影響了多少行 @return int 返回影響的行數(shù) */ $int = mysql_affected_rows();/*查看插入的最后一條新紀錄的AUTO_INCREMENT 值是多少 @return int 返回影響auto_increment 的最后一行信息 */ $int= mysql_insert_id();/*---------------------------------------執(zhí)行select 查詢數(shù)據(jù)庫命令處理結果集-----------------------------------------------*/ //$result = mysql_query($sql);/*從數(shù)據(jù)庫中獲的記錄行的個數(shù) @return int 返回行 */ $rows = mysql_num_rows($result);/*從數(shù)據(jù)庫中獲取列的記錄個數(shù) @return int 返回列 */ $cols = mysql_num_fields($result);/*將一條記錄返回并以一個普通索引數(shù)組形式保存 @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return array 返回一個索引數(shù)組 */ $row = mysql_fetch_row($result);/*將一條記錄返回并以一個普通關聯(lián)數(shù)組的形式保存 @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return array 返回一個關聯(lián)數(shù)組 */ $row = mysql_fetch_assoc($result);/*將一條記錄返回兩種默認形式 關聯(lián)數(shù)組和索引數(shù)組 @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return array 返回一個結果集 */ $row = mysql_fetch_array($result);/*將一返回一條對象的數(shù)據(jù) @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return object 返回一個對象 */ $row = mysql_fetch_object($result);/*---------------------------------------查看信息-----------------------------------------------------------------*///客戶端API函數(shù)庫的版本信息 $str = mysql_get_client_info();//與MySql服務器的的連接類型 $str = mysql_get_host_info();//通信協(xié)議的版本信息 $str = mysql_get_server_info();//客戶端使用的默認字符集 $str = mysql_client_encoding();//MySql服務器的當前工作狀態(tài) $str = mysql_stat();//關閉與MySql服務器建立的連接 mysql_close($link);//=========================================常用數(shù)學函數(shù)==============================================================//求一個數(shù)的絕對值 $int=abs(-100);//返回大于或者等于指定表達式的最小整數(shù)(下例為3) $int=ceil(2.01);//返回等于指定表達式的最小整數(shù)(下例為2) $int =floor(2.51);//取多個參數(shù)之間的最大值 $int=max(2,43,5,6,7,89,9);//取多個參數(shù)之間的最小值 $int=min(2,43,5,6,7,89,9);//取兩個參數(shù)之間的隨機數(shù) $int=mt_rand(0,10);//四舍五入計算 $int=round(2.534);//$str=number_format(float number,int [decimals],string [dec_point],string [sep]); //輸出:222,222,222.11 //本函數(shù)用來將浮點數(shù)number格式化,其中第一個參數(shù)number指定被格式化的浮點數(shù);第二個參數(shù)decimals指定格式化后的小數(shù)位數(shù),如果number的小數(shù)位多于指定的小數(shù)位,則會進行四舍五入;第三個參數(shù)dec_point指定整數(shù)和小數(shù)部分間的分隔符,默認值為".";第四個參數(shù)sep指定整數(shù)部分中每三位間的分隔符,默認值為","。 $str=number_format(222222222.1111,2,'.',',');//========================================常用數(shù)組方法===============================$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");//返回數(shù)組元素個數(shù) $int=count($arr);//判斷第二參數(shù)的數(shù)組元素中是否有第一個參數(shù)元素 $bool=in_array("b",$arr);//返回括號中數(shù)組所有鍵值組成的新數(shù)組原數(shù)組不改變 $array=array_keys($arr);//判斷第二個參數(shù)的數(shù)組中是否有第一個參數(shù)的鍵值,返回真假 $bool=array_key_exists("k1",$arr);//返回原數(shù)組中所有元素值組成的新數(shù)組,鍵值從0開始自增,原數(shù)組不變 $array=array_values($arr);//返回當前數(shù)組指針指向的鍵值 $key=key($arr);//返回當前數(shù)組指針指向的元素值 $value=current($arr);//返回當前數(shù)組指針指向元素的鍵值及元素值組成的數(shù)組,再將指針推向下一位,最后指針指向的是一個空元素返回空 //返回的數(shù)組中有四個固定鍵值對應的元素值分別是返回元素的鍵值及元素值,其中0,'key'鍵值都對應返回元素鍵值,1,'value'鍵值都對應返回的元素值 $array=each($arr);//先將數(shù)組指針推向下一位,再返回指針移動后指向的元素值 $value=next($arr);//將數(shù)組指針推向上一位,再返回指針移動后指向的元素值 $value=prev($arr);//讓數(shù)組指針重置指向第一個元素并返回元素值 $value=reset($arr);//將數(shù)組指針指向最后一位元素,并返回最后一位元素值 $value=end($arr);//將第一個參數(shù)以后的參數(shù)作為元素追加入第一個參數(shù)數(shù)組的末尾,索引從最小的沒用過的數(shù)值開始計,返回之后的數(shù)組長度 $int=array_push($arr,"d","dfsd");//將第一個參數(shù)數(shù)組后面所有參數(shù)作為元素添加到第一個參數(shù)數(shù)組開頭處,鍵值以0從第一個元素處重新累加,原非數(shù)值的鍵值保持不變,原元素排序位置不變,返回之后的數(shù)組長度 $int=array_unshift($arr,"t1","t2");//返回從數(shù)組尾部提取最后一個元素值,并把最后一個元素從原數(shù)組中剔除 $value=array_pop($arr);//array_pop相反,提取返回數(shù)組頭一個元素值,并把頭一個元素從原數(shù)組中剔除 $value=array_shift($arr);//讓第一個參數(shù)數(shù)組達到第二個參數(shù)數(shù)值長度,將第三個參數(shù)作為元素添加到第一個參數(shù)數(shù)組的末尾,索引從最小沒用過數(shù)值開始計并返回,原數(shù)組不改變 $array1=array_pad($arr,10,"t10");//返回一個將原數(shù)組中多余重復元素剔除掉的新數(shù)組,原數(shù)組不改變 $array=array_unique($array1);//將原數(shù)組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數(shù)字0開始重計 $int=sort($array);//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計 $int=rsort($array);//返回將第一個參數(shù)數(shù)組中每一個元素值依次作為鍵值付給參數(shù)二數(shù)組的數(shù)組,兩數(shù)組長度必須一致,原數(shù)組不改變 $array=array_combine(array("a","b","c","d","e"),$arr);//將兩個數(shù)組合并并返回原數(shù)組不變 $array=array_merge($arr,array("a","b","c"));//在第一個參數(shù)數(shù)組中從第二個參數(shù)數(shù)值位置開始截取到第三個參數(shù)數(shù)值長度的數(shù)組鍵值+元素并返回,數(shù)組第一個元素位置從0計 $array=array_slice($arr,2,1);//截取功能和array_slice()一樣,只是將截取部分在原數(shù)組中剔除 $array=array_splice($arr,2,1);//將第一個參數(shù)作為第一個元素,每次自增參數(shù)三的值,自增后再作為一個元素存在數(shù)組中,直到值達到參數(shù)二的值存到數(shù)組中為止并返回這個數(shù)組 //參數(shù)一,參數(shù)二可以是數(shù)字,可以是單個字符,單字符就按阿斯柯碼值算,第三個參數(shù)不寫默認每次自增1 $array=range(3,9,2);//將原數(shù)組元素與對應鍵值的對應關系重新隨機排列返回真假 $bool=shuffle($arr);//計算數(shù)組中所有數(shù)值型元素值的和 $int=array_sum(array("a",2,"cssf"));//把一個數(shù)組分割為新的數(shù)組塊,新數(shù)組每個元素都是一個數(shù)組,新數(shù)組每個元素內(nèi)有幾個元素由參數(shù)二決定 //第三個參數(shù)決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認false不保留 $array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);//json_encode()將數(shù)組轉換成JSON格式字符串返回 $arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4')); //echo $encode_str = json_encode($arr);//json_decode()將JSON格式字符串轉換成能強制轉換成數(shù)組的對象返回,JSON格式字符串中鍵與值需要引號括起來時必須用雙引號 $decode_arr = (array)json_decode($encode_str); //var_dump($decode_arr);//===============================常用文檔操作函數(shù)===============================/*-------------------------------------文件類型--------------------------------------------------------------*/ /*獲取文件類型 @param string 文件的路徑 @retrun string 返回文件類型 */ $str = filetype('C:/SWSetup');is_dir('C:/SWSetup'); //判斷是不是目錄is_file('C:/SWSetup'); //判斷是不是文件is_executable('C:/SWSetup'); //判斷是不是可執(zhí)行文件is_readable('C:/SWSetup'); //判斷是不是可讀文件is_writable('C:/SWSetup'); //判斷是不是可寫文件is_link('C:/SWSetup'); //判斷是不是快捷方式/*-------------------------------------文件屬性--------------------------------------------------------------*/file_exists('C:/SWSetup'); //文件是否存在//文件大小 返回的是一個btye $str = filesize('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe'); $str = GetFileSize($str);/*文件大小計算函數(shù)*/function GetFileSize($size){$dw="Byte";if($size >= pow(2,40)){$size=round($size/pow(2,40),2);$dw="TB";}else if($size >= pow(2,30)){$size=round($size/pow(2,30),2);$dw="GB";}else if($size >= pow(2,20)){$size=round($size/pow(2,20),2);$dw="MB";}else if($size >=pow(2,10)){$size=round($size/pow(2,10),2);$dw="KB";}else{$dw="Bytes";}return $size.$dw;}//文件創(chuàng)建時間 返回的是一個UNIX時間戳 $str = date('Y-m-d',filectime('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe')); //文件修改時間 返回的是一個UNIX時間戳 $str = date('Y-m-d',filemtime('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe')); //文件最后訪問的時間 返回的是一個UNIX時間戳 $str = date('Y-m-d',fileatime('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe')); //文件的狀態(tài) 返回的是一個數(shù)組 $arr = stat('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe'); /*Array([0] => 2[1] => 0[2] => 33279[3] => 1[4] => 0[5] => 0[6] => 2[7] => 13086564[8] => 1399013467[9] => 1399013468[10] => 1399013466[11] => -1[12] => -1[dev] => 2[ino] => 0[mode] => 33279[nlink] => 1[uid] => 0[gid] => 0[rdev] => 2[size] => 13086564[atime] => 1399013467[mtime] => 1399013468[ctime] => 1399013466[blksize] => -1[blocks] => -1) *//*-------------------------------------文件函數(shù)--------------------------------------------------------------*/ //取文件名 返回Monokai.xml; $str = basename('C:/Program Files/Notepad++/themes/Monokai.xml');//取文件目錄名稱,如要想要取上一級 只需要嵌套就可以driname(driname(url)); $str = dirname('C:/Program Files/Notepad++/themes/Monokai.xml');//路徑信息; 返回的是一個數(shù)組 $array = pathinfo('C:/Program Files/Notepad++/themes/Monokai.xml'); /*Array([dirname] => C:/Program Files/Notepad++/themes[basename] => Monokai.xml[extension] => xml[filename] => Monokai) *///文件擴展名 $str = get_extension('C:/Program Files/Notepad++/themes/Monokai.xml'); function get_extension($file) { $info = pathinfo($file); return $info['extension']; } /*-------------------------------------文件基本操作函數(shù)--------------------------------------------------------------*//*文件的創(chuàng)建 @param string 文件路徑 @param date 文件創(chuàng)建時間UNIX 時間 省略默認系統(tǒng)時間 @param date 文件訪問時間UNIX 時間 省略默認系統(tǒng)時間 @return bool 創(chuàng)建成功返回true 失敗 false */ touch("C:/Program Files/Notepad++/themes/myphp.txt",time()-3000,time()-2000);/*文件的刪除 @param string 文件路徑 @return bool 刪除成功返回true 失敗 false */ unlink("C:/Program Files/Notepad++/themes/myphp.txt");/*移動文件(重命名文件) @param string 當前文件路徑 @param string 目標文件路徑 @return bool 成功返回true 失敗 false */ rename('C:/Program Files/Notepad++/themes/copyme.txt','C:/copyme.txt');/*復制文件(重命名文件) @param string 當前文件路徑 @param string 目標文件路徑 @return bool 成功返回true 失敗 false */ copy('C:/Program Files/Notepad++/themes/copyme.txt','C:/copyme.txt');/*-------------------------------------讀取文件操作函數(shù)--------------------------------------------------------------*/ //將C:/1.txt文件從20個字符開始讀取14個字符 $str = file_get_contents('C:/1.txt', NULL, NULL, 0, 14);//將讀取一個網(wǎng)絡文件 $str = file_get_contents('http://www.baidu.com');//把整個文件讀入一個數(shù)組中,每一個元素對應一行 $str = file('C:/1.txt');//讀入一個文件并寫入到輸出緩沖區(qū)不用再使用each //readfile('C:/1.txt');/*將filename 指定的名字資源綁定到一個流上。 @param string 打開文件或者 URL @param string 參數(shù)指定了所要求到該流的訪問類型 r, r+, w, w+ ,a ,a+, x, x+,c,c+ @return object 返回打開的文件指針 */ $handle = fopen('C:/1.txt','r');/*從文件指針handl中讀取100個字符 @param object 文件指針 @pream int 讀取多少字符 @return string 返回讀取到的字符 */ $str = fread($handle,100);/*從文件句柄中獲取一個字符。 @param object 文件指針 @return string 返回一個字符 */ $str = fgetc($handle);/*從文件句柄中獲取一個行。 @param object 文件指針 @return string 返回一個行 */ $str = fgets($handle);//判斷文件結尾 feof($handle);/*在與 handle 關聯(lián)的文件中設定文件指針位置。新位置從文件頭開始以字節(jié)數(shù)度量,是以whence 指定的位置加上多少個 @param object 文件指針 @param whence 1.SEEK_SET - 設定位置等于 offset 字節(jié)。 2.SEEK_CUR - 設定位置為當前位置加上 offset。 3.SEEK_END - 設定位置為文件尾加上 offset。 @param int 加上多少個字符 @return boolean 成功true 失敗 false */ fseek($handle,10);/*指向的文件關閉。 @param object 文件指針 @return bool 是否關閉成功 */ fclose($handle); /*-------------------------------------寫入文件操作函數(shù)--------------------------------------------------------------*//*向指定文件寫入文件功能類似 fopen() fwrite() fclose() 函數(shù)一樣 @param string 文件的路徑 @param string 文件的內(nèi)容 可以使一個字符串也可以是一個數(shù)組 (不能使多維數(shù)組) @param FILE_USE_INCLUDE_PATH 在 include 目錄里搜索 filename FILE_APPEND 如果文件 filename 已經(jīng)存在,追加數(shù)據(jù)而不是覆蓋 LOCK_EX在寫入時獲得一個獨占鎖。 */ file_put_contents('C:/1.txt',"寫入的內(nèi)容",FILE_APPEND | LOCK_EX);/*使用a可以在文件的結尾處進行寫入不像使用w一樣覆蓋文件*/ /*使用r+可以在文件的開頭處進行寫入不像使用w一樣覆蓋文*/ //把 string 的內(nèi)容寫入 文件指針 handle 處。 fwrite($handle,"常用文件操======作");//獲取文件類型 //===============================常用文件操作函數(shù)===============================//打開文件 返回一個文件句柄 $handle = opendir("E:/www/test");//讀取文件 返回該文件下文件名 $filename = readdir($handle);//剪切 重命名 原路徑/ 現(xiàn)在的路徑 rename ( "/tmp/tmp_file.txt" , "/home/user/login/docs/my_file.txt" ); echo "</pre>";//===============================常用圖像處理函數(shù)=============================== /*創(chuàng)建畫布,返回一個資源類型的變量$image,并在內(nèi)存中開辟一塊臨時區(qū)域 *@param int x_size *@param int y_size *@return object $img */ $img = imagecreatetruecolor(200,200); echo imagesx($img); //輸出畫布寬度200 echo imagesy($img); //輸出畫布長度200/*設置顏色 第一次調(diào)用的時候會給圖像增加一個背景顏色 *@param $objec 一個圖像句柄 *@param int $red *@param int $green *@param int $blue *@return 顏色 */ $backgorund = imagecolorallocate($img,255,0,0); $white = imagecolorallocate($img,255,255,255); $black = imagecolorallocate($img,0,0,0);/*生成圖像,可以將動態(tài)繪制的畫布,直接輸出為GIF,JPEG,PNG,WBMP四種格式 *使用header發(fā)送標頭信息,用來通知瀏覽器使用正確的MIME類型進行解析 *@param resource $image 圖像句柄 */ bool imagegif(); bool imagejpeg(); bool imagepng(); bool imagewbmp(); header("Content-type:image/gif"); imagegif($img);/*---------------------------------------繪制圖像--------------------------*//*區(qū)域填充 *@param resource 圖像句柄 *@param int X點坐標 *@param int Y點坐標 *@param int color 顏色 *@return bool 成功true 失敗 false */ imagefill($img,$x,$y,$color);//點 ImageSetPixel($img,$x,$y,$color);//線 ImageLine($img,$x1,$y1,$x2,$y2,$color);//矩形 ImageRectangle($img,$x1,$y1,$x2,$y2,$color); //畫一個矩形 ImageFilledRectangle($img,$x1,$y1,$x2,$y2,$color); //畫一個填充矩形//繪制多邊形: ImagePolyGon($img,$points,$num_points,$color); //畫一個多邊形 ImageFilledPolyGon($img,$points,$num_points,$color); //畫一個多邊形并且填充//繪制橢圓: /*繪制一個橢圓 *@param resource 圖像句柄 *@param int 圓心x坐標 *@param int 圓心y坐標 *@param int 圓的寬度 *@param int 圓的高度 *@param int 圓的顏色 *@return 成功 true, 失敗false */ ImageEllipse($image,$cx,$cy,$w,$h,$color);ImageFilledEllipse($image,$cx,$cy,$w,$h,$color); //畫一個橢圓并填充//弧線 /*繪制一個橢圓 *@param resource image 圖像句柄 ×@param int cx 弧形心x坐標 ×@param int cy 弧形心y坐標 ×@param int w 弧形寬度 ×@param int h 弧形高度 ×@param int s 弧形開始的弧度 ×@param int e 弧形開始的弧度 *@param int color 顏色 IMG_ARC_CHORD 只是用直線連接了起始和結束點, IMG_ARC_PIE 則產(chǎn)生圓形邊界。 IMG_ARC_NOFILL 指明弧或弦只有輪廓,不填充。 IMG_ARC_EDGED 指明用直線將起始和結束點與中心點相連,和 IMG_ARC_NOFILL 一起使用是畫餅狀圖輪廓的好方法(而不用填充)。 *@return 成功 true, 失敗false */ ImageArc($image,$cx,$cy,$w,$h,$s,$e,$color); ImageFilledArc($image,$cx,$cy,$w,$h,$s,$e,$color,$style); //畫一個弧形并填充 bool imagedestroy($img); //銷毀一個資源 ?> <?php echo "<pre>"; //===============================時間日期===============================//y返回年最后兩位,Y年四位數(shù),m月份數(shù)字,M月份英文。d月份幾號數(shù)字,D星期幾英文 $date=date("Y-m-d"); $date=date("Y-m-d H:i:s");//帶時分秒//mktimes轉換成UNIX時間戳 參數(shù) mktime(hour,minute,second,mouth,day,year); 依次從右左向右 時分秒 月 日 年; $str=date("Y-m-d",mktime(0,0,0,13,36,2007));//time();//獲取當前時間戳; $int=time();//getdate();//返回時間戳組成的關聯(lián)數(shù)組 getdate();//microtime() //返回一個當前的微秒數(shù)值; microtime(true);//include,include_once.require,require_once //require("file.php") 在PHP程序執(zhí)行前就會先讀入require所指定引進的文件,如出現(xiàn)錯誤是致命的。 //include("file.php") 可以放在PHP程序的任何位置,PHP程序執(zhí)行到時才讀入include指定引入的文件,如出現(xiàn)錯誤會提示//===============================輸出打印=============================== //sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不輸出。 //printf("%d","3.2") ;//即格式化,又輸出 //print("3.2") ;//只輸出 //echo "nihao","aa";//可以輸出多個字符串 //print_r(array("a","b","c"));//將數(shù)組的鍵值與元素依次顯示 //var_dump($string);//打印輸出一個對象//===============================常用字符串函數(shù)======================================//獲取字符串長度,有多少個字符,空格也算 $str=" sdaf sd "; $len=strlen($str);//用第一個參數(shù)里的字符串,把后面數(shù)組里的每個元素連接起來,返回一個字符串。 $str=implode("-",array("a","b","c")); //echo $str; //字符串分割方法,返回一個數(shù)組,用第一個參數(shù)里的字符分割后面的字符串,指定字符的前后和之間都截取,如果指定字符在開頭或結尾則返回的數(shù)組開頭或結尾的元素為空字符串 //沒有分割到字符串就返回給數(shù)組對應元素一個空值。最后一個限制返回數(shù)組長度,可不限制,則一直分割下去。 $array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4); //print_r($array);//剔除字符串左邊開頭的空格,并返回 //如有第二個參數(shù)則是剔除左邊開頭的空格換成剔除第二個參數(shù)里的字符串 $str=ltrim("a asd ","a");//剔除字符串右邊開頭的空格 $str=rtrim(" asd ");//把第一個字符串兩邊以第二個參數(shù)開頭的字符串剔除。如沒有第二個參數(shù),默認剔除掉字符串兩邊開頭的空格 $str=trim(" sdsdfas ","a");//從字符串第一個參數(shù)里的指定位置開始取多長(多少個)字符,字符串中第一個字符位置從0算。 //如果第二個參數(shù)為負則從字符串結尾倒數(shù)第幾個開始取多長的字符串。結尾最后一個字符算-1,截取方向總是從左到右 $str=substr("abcdefgh",0,4);//將第三個參數(shù)的第一個參數(shù)字符串用參數(shù)二字符串替換 $str=str_replace("a","","abcabcAbca"); //與str_replace用法同,只是不區(qū)分大小寫 //$str=str_ireplace("a"," ","abcabcAbca");//1.str_replace(array,string,string,count);將array中的元素替換替換成string中的字符串被替換為count次$value=array('h','e','l','o');$string="Hello world";$str=str_replace($value,"",$string)."<br>";//2.str_ireplace(array,string,string,count); 不區(qū)分大小寫$value=array('a','b','D','0','W','i');$str=str_ireplace($value,"",$string)."<br>";//3.str_replace(array,array,string,count);將array中的數(shù)組元素替換替換成arrat中的數(shù)組元素 并且是一一對應對應 被替換為count次$value=array('h','e','l','o');$string="Hello world";$replace=array('f','u','c','...');$str= str_replace($value,$replace,$string)."<br>";//4.str_ireplace(array,array,string,count); 不區(qū)分大小寫$value=array('a','b','D','0','W','i');$replace=array('f','u','c','...');$str =str_ireplace($value,$replace,$string)."<br>";//返回括號里字符串的字符全部大寫的字符串 $str=strtoupper("sdaf");//將括號里第一個字符串變成大寫后返回 $str=ucfirst("asdf");//用echo等將括號里字符串打印在網(wǎng)頁上時原汁原味打印出括號里的字符串,包括標簽字符 $str=htmlentities("<br/>");//返回第二個參數(shù)字符串在第一個字符串里出現(xiàn)的次數(shù) $int=substr_count("abcdeabcdeablkabd","ab");//返回第二個字符串在第一個字符串第一次出現(xiàn)的位置,第一個字符位置算0 $int=strpos("asagaab","ab");//返回第二個字符串在第一個字符串最后一次出現(xiàn)的位置,第一個字符位置算0 $int=strrpos("asagaabadfab","ab");//截取返回參數(shù)一中從左至右第一個出現(xiàn)的參數(shù)二到參數(shù)一最后一個字符的字符串 $str=strstr("sdafsdgaababdsfgs","ab");//截取返回參數(shù)一中從左至右最后一個出現(xiàn)的參數(shù)二到參數(shù)一最后一個字符的字符串 $str=strrchr("sdafsdgaababdsfgs","ab");//將參數(shù)二中每一個字符在參數(shù)一中相同字符前加"\" $str=addcslashes("abcdefghijklmn","akd");//將參數(shù)一的字符串填充到參數(shù)二指定的長度(單字符個數(shù)),參數(shù)三為指定填充的字符串,不寫默認空格 //參數(shù)四填充位置,0在參數(shù)一左側開頭填充,1右側開頭,2兩邊開頭同時。不寫默認在右側開頭填充 $str=str_pad("abcdefgh",10,"at",0);//依次比較兩字符串對應字符阿斯克碼值,第一對不一樣的,如果參數(shù)一里大于參數(shù)二里的返回1,反之返回-1,兩字符串完全一樣返回0 $int1=strcmp("b","a");//返回第一個參數(shù)格式化后的數(shù)字格式,第二個參數(shù)為保留幾個小數(shù),參數(shù)三為將小數(shù)點換成參數(shù)三,參數(shù)四為整數(shù)部分每三位用什么字符分割 //后面三個參數(shù)都不寫,則默認去掉小數(shù)部分,整數(shù)每隔三位用逗號,分割。參數(shù)三,參數(shù)四必須同時存在 $str=number_format(1231233.1415,2,"d","a");//=================================================常用正則函數(shù)=====================================================//1.preg_match$pattern="/(http):\/\/(www|ftp|email|wap|m)\W([0-9a-z]*)\W(org|cn|com|fuck|2B)/";$string.="這個是x人百度的網(wǎng)站http://www.baidu.com";$string.="這個是X人騰訊的網(wǎng)站http://www.qq.com";$string.="這個是x人谷歌的網(wǎng)站http://www.google.com";/*$matches: 返回一個數(shù)組正則表達式的子模式是使用括號()括起來的模式單元,只匹配第一個網(wǎng)址mathces[0] :表示的是pattern中匹配出來的整體內(nèi)容mathces[1]: 表示的是pattern中匹配出來的第一個()的內(nèi)容mathces[2]: 表示的是pattern中匹配出來的第二個()的內(nèi)容Array([0] => http://www.baidu.com[1] => http[2] => www[3] => baidu[4] => com)*/preg_match($pattern,$string,$matches);//print_r($matches);/*---------------------------------------------------------------------------------------------------------*///2.preg_match_all$pattern="/(http):\/\/(www|ftp|email|wap|m)\W([0-9a-z]*)\W(org|cn|com|fuck|2B)/";$string.="這個是x人百度的網(wǎng)站http://www.baidu.com";$string.="這個是X人騰訊的網(wǎng)站http://www.qq.com";$string.="這個是x人谷歌的網(wǎng)站http://www.google.com";/*$matches: 返回一個數(shù)組正則表達式的子模式是使用括號()括起來的模式單元,Array([0] => Array([0] => http://www.baidu.com[1] => http://www.qq.com[2] => http://www.google.com[3] => http://www.baidu.com[4] => http://www.qq.com[5] => http://www.google.com)[1] => Array([0] => http[1] => http[2] => http[3] => http[4] => http[5] => http)[2] => Array([0] => www[1] => www[2] => www[3] => www[4] => www[5] => www)[3] => Array([0] => baidu[1] => qq[2] => google[3] => baidu[4] => qq[5] => google)[4] => Array([0] => com[1] => com[2] => com[3] => com[4] => com[5] => com))*/preg_match_all($pattern,$string,$matches); /*---------------------------------------------------------------------------------------------------------*///3.preg_replace/*替換將string中的字符串以pattern 規(guī)則匹配出來的用replace進行l(wèi)imit次替換*/preg_replace($pattern,$replace,$string,$limit);$pattern ="/<[\/]*[^<>]*>/i";$string="這個文本中有<b>粗體</b>和<u>帶下劃線</u>以及<i>斜體</i>還有<font color='red' size=7>帶有顏色和大小</font>的標記";//echo $string."<br>";$temp_string = preg_replace($pattern,"",$string,1);//echo $temp_string."<br>";/*逆向引用將 01/25/2009 搜索到的用()進行分割 $(3) 來進行代替 逆向引用*/$pattern="/(\d{2})\/(\d{2})\/(\d{4})/";$string="今年春節(jié)放假日期為01/25/2009到02/02/2009共七天.";$temp_string = preg_replace($pattern,"\${3}-\${1}-\${2}",$string); //echo $temp_string."<br>";/*使用修正符可以將需要替換的文字進行php函數(shù)處理并且可以相加*/$pattern ="/(<\/?)(\w+)([^>]*>)/e";$string="這個文本中有<b>粗體</b>和<u>帶下劃線</u>以及<i>斜體</i>還有<font color='red' size=7>帶有顏色和大小</font>的標記";//echo preg_replace($pattern,"'\\1'.md5('\\2').'\\3'",$string);//數(shù)組替換$string = "將本行文本[b]加粗[/b]將本行文本改為[i]斜體[/i]將本行文本加上[u]下滑下[/u]將本行文字大小為[font=20px][color=red]20px字,紅色[/color][/font][algin=center]將本行居中[/algin]連接到[url=http://bbs.sha_biwanyi.com]傻逼玩意[/url]給[email=shabi@caonima.fuck]草泥馬[/email]發(fā)信本行[b][i][u][algin=center]本行為加粗,斜體并帶有下劃線,而且居中的文字[/algin][/u][/i][/b]";$pattern=array("/(\r\n)|(\n)/","/\[b\]/i","/\[\/b\]/i","/\[i\]/i","/\[\/i\]/i","/\[u\]/i","/\[\/u\]/i","/\[font=\s*([0-9]*px|em)\s*\]/i","/\[color=\s*(#[0-9]*|[a-zA-z]*)\]/i","/\[algin=(center|left|right)\]/i","/\[url=(https?|ftp):(\/\/)(www|bbs|m)\.([^\W]*)\.(com|cn)\](.*)\[\/url\]/i","/\[email=([^\W]+@[^\W]+)\.([^\W]+)\](.*)\[\/email\]/i","/\[\/font\]/i","/\[\/color\]/i","/\[\/algin\]/i");$replace=array("<br>","<b>","</b>","<i>","</i>","<u>","</u>","<span style='font-size:\\1'>","<span style='color:\\1'>","<p style='text-align:\\1'>","<a href='\\1:\\2\\3.\\4.\\5'>\\6</a>","<a href='Mailto:\\1.\\2'>\\3</a>","</span>","</span>","</p>");preg_replace($pattern,$replace,$string);/*---------------------------------------------------------------------------------------------------------*///4.preg_grep/*匹配數(shù)組中的元素返回與正則表達式匹配成功的數(shù)組單元Array([0] => Linux RedHat9.0[1] => Apache2.2.9[2] => MySql5.0.51[3] => PHP5.6[5] => VS2010)*/$array = array("Linux RedHat9.0","Apache2.2.9","MySql5.0.51","PHP5.6","Winows","VS2010");$pattern = "/[a-zA-Z]+(\d|\.)+/";$array = preg_grep($pattern,$array);//=================================================常用數(shù)據(jù)庫函數(shù)====================================================/*---------------------------------------連接數(shù)據(jù)庫-----------------------------------------------------------------*///mysql_connect('localhost','root','123456'); //mysql_error(); 連接數(shù)據(jù)庫錯誤信息 //mysql_errno(); 連接數(shù)據(jù)庫錯誤號 $link = mysql_connect('localhost','root','123456') or die('連接錯誤'.mysql_error());//mysql_select_db 選擇數(shù)據(jù)庫 參數(shù):1.數(shù)據(jù)庫名稱 2.建立的連接 mysql_select_db('0537byby',$link) or die('不能夠選擇數(shù)據(jù)庫:'.mysql_error());/*---------------------------------------執(zhí)行inset update delete 數(shù)據(jù)庫命令-----------------------------------------------*/ /*執(zhí)行數(shù)據(jù)庫語句 @param str sql語句 @return boolean 成功返回true 失敗返回false; */$result = mysql_query($sql);/*查看一共影響了多少行 @return int 返回影響的行數(shù) */ $int = mysql_affected_rows();/*查看插入的最后一條新紀錄的AUTO_INCREMENT 值是多少 @return int 返回影響auto_increment 的最后一行信息 */ $int= mysql_insert_id();/*---------------------------------------執(zhí)行select 查詢數(shù)據(jù)庫命令處理結果集-----------------------------------------------*/ //$result = mysql_query($sql);/*從數(shù)據(jù)庫中獲的記錄行的個數(shù) @return int 返回行 */ $rows = mysql_num_rows($result);/*從數(shù)據(jù)庫中獲取列的記錄個數(shù) @return int 返回列 */ $cols = mysql_num_fields($result);/*將一條記錄返回并以一個普通索引數(shù)組形式保存 @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return array 返回一個索引數(shù)組 */ $row = mysql_fetch_row($result);/*將一條記錄返回并以一個普通關聯(lián)數(shù)組的形式保存 @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return array 返回一個關聯(lián)數(shù)組 */ $row = mysql_fetch_assoc($result);/*將一條記錄返回兩種默認形式 關聯(lián)數(shù)組和索引數(shù)組 @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return array 返回一個結果集 */ $row = mysql_fetch_array($result);/*將一返回一條對象的數(shù)據(jù) @param array 執(zhí)行數(shù)據(jù)庫返回的數(shù)組 @return object 返回一個對象 */ $row = mysql_fetch_object($result);/*---------------------------------------查看信息-----------------------------------------------------------------*///客戶端API函數(shù)庫的版本信息 $str = mysql_get_client_info();//與MySql服務器的的連接類型 $str = mysql_get_host_info();//通信協(xié)議的版本信息 $str = mysql_get_server_info();//客戶端使用的默認字符集 $str = mysql_client_encoding();//MySql服務器的當前工作狀態(tài) $str = mysql_stat();//關閉與MySql服務器建立的連接 mysql_close($link);//=========================================常用數(shù)學函數(shù)==============================================================//求一個數(shù)的絕對值 $int=abs(-100);//返回大于或者等于指定表達式的最小整數(shù)(下例為3) $int=ceil(2.01);//返回等于指定表達式的最小整數(shù)(下例為2) $int =floor(2.51);//取多個參數(shù)之間的最大值 $int=max(2,43,5,6,7,89,9);//取多個參數(shù)之間的最小值 $int=min(2,43,5,6,7,89,9);//取兩個參數(shù)之間的隨機數(shù) $int=mt_rand(0,10);//四舍五入計算 $int=round(2.534);//$str=number_format(float number,int [decimals],string [dec_point],string [sep]); //輸出:222,222,222.11 //本函數(shù)用來將浮點數(shù)number格式化,其中第一個參數(shù)number指定被格式化的浮點數(shù);第二個參數(shù)decimals指定格式化后的小數(shù)位數(shù),如果number的小數(shù)位多于指定的小數(shù)位,則會進行四舍五入;第三個參數(shù)dec_point指定整數(shù)和小數(shù)部分間的分隔符,默認值為".";第四個參數(shù)sep指定整數(shù)部分中每三位間的分隔符,默認值為","。 $str=number_format(222222222.1111,2,'.',',');//========================================常用數(shù)組方法===============================$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");//返回數(shù)組元素個數(shù) $int=count($arr);//判斷第二參數(shù)的數(shù)組元素中是否有第一個參數(shù)元素 $bool=in_array("b",$arr);//返回括號中數(shù)組所有鍵值組成的新數(shù)組原數(shù)組不改變 $array=array_keys($arr);//判斷第二個參數(shù)的數(shù)組中是否有第一個參數(shù)的鍵值,返回真假 $bool=array_key_exists("k1",$arr);//返回原數(shù)組中所有元素值組成的新數(shù)組,鍵值從0開始自增,原數(shù)組不變 $array=array_values($arr);//返回當前數(shù)組指針指向的鍵值 $key=key($arr);//返回當前數(shù)組指針指向的元素值 $value=current($arr);//返回當前數(shù)組指針指向元素的鍵值及元素值組成的數(shù)組,再將指針推向下一位,最后指針指向的是一個空元素返回空 //返回的數(shù)組中有四個固定鍵值對應的元素值分別是返回元素的鍵值及元素值,其中0,'key'鍵值都對應返回元素鍵值,1,'value'鍵值都對應返回的元素值 $array=each($arr);//先將數(shù)組指針推向下一位,再返回指針移動后指向的元素值 $value=next($arr);//將數(shù)組指針推向上一位,再返回指針移動后指向的元素值 $value=prev($arr);//讓數(shù)組指針重置指向第一個元素并返回元素值 $value=reset($arr);//將數(shù)組指針指向最后一位元素,并返回最后一位元素值 $value=end($arr);//將第一個參數(shù)以后的參數(shù)作為元素追加入第一個參數(shù)數(shù)組的末尾,索引從最小的沒用過的數(shù)值開始計,返回之后的數(shù)組長度 $int=array_push($arr,"d","dfsd");//將第一個參數(shù)數(shù)組后面所有參數(shù)作為元素添加到第一個參數(shù)數(shù)組開頭處,鍵值以0從第一個元素處重新累加,原非數(shù)值的鍵值保持不變,原元素排序位置不變,返回之后的數(shù)組長度 $int=array_unshift($arr,"t1","t2");//返回從數(shù)組尾部提取最后一個元素值,并把最后一個元素從原數(shù)組中剔除 $value=array_pop($arr);//array_pop相反,提取返回數(shù)組頭一個元素值,并把頭一個元素從原數(shù)組中剔除 $value=array_shift($arr);//讓第一個參數(shù)數(shù)組達到第二個參數(shù)數(shù)值長度,將第三個參數(shù)作為元素添加到第一個參數(shù)數(shù)組的末尾,索引從最小沒用過數(shù)值開始計并返回,原數(shù)組不改變 $array1=array_pad($arr,10,"t10");//返回一個將原數(shù)組中多余重復元素剔除掉的新數(shù)組,原數(shù)組不改變 $array=array_unique($array1);//將原數(shù)組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數(shù)字0開始重計 $int=sort($array);//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計 $int=rsort($array);//返回將第一個參數(shù)數(shù)組中每一個元素值依次作為鍵值付給參數(shù)二數(shù)組的數(shù)組,兩數(shù)組長度必須一致,原數(shù)組不改變 $array=array_combine(array("a","b","c","d","e"),$arr);//將兩個數(shù)組合并并返回原數(shù)組不變 $array=array_merge($arr,array("a","b","c"));//在第一個參數(shù)數(shù)組中從第二個參數(shù)數(shù)值位置開始截取到第三個參數(shù)數(shù)值長度的數(shù)組鍵值+元素并返回,數(shù)組第一個元素位置從0計 $array=array_slice($arr,2,1);//截取功能和array_slice()一樣,只是將截取部分在原數(shù)組中剔除 $array=array_splice($arr,2,1);//將第一個參數(shù)作為第一個元素,每次自增參數(shù)三的值,自增后再作為一個元素存在數(shù)組中,直到值達到參數(shù)二的值存到數(shù)組中為止并返回這個數(shù)組 //參數(shù)一,參數(shù)二可以是數(shù)字,可以是單個字符,單字符就按阿斯柯碼值算,第三個參數(shù)不寫默認每次自增1 $array=range(3,9,2);//將原數(shù)組元素與對應鍵值的對應關系重新隨機排列返回真假 $bool=shuffle($arr);//計算數(shù)組中所有數(shù)值型元素值的和 $int=array_sum(array("a",2,"cssf"));//把一個數(shù)組分割為新的數(shù)組塊,新數(shù)組每個元素都是一個數(shù)組,新數(shù)組每個元素內(nèi)有幾個元素由參數(shù)二決定 //第三個參數(shù)決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認false不保留 $array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);//json_encode()將數(shù)組轉換成JSON格式字符串返回 $arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4')); //echo $encode_str = json_encode($arr);//json_decode()將JSON格式字符串轉換成能強制轉換成數(shù)組的對象返回,JSON格式字符串中鍵與值需要引號括起來時必須用雙引號 $decode_arr = (array)json_decode($encode_str); //var_dump($decode_arr);//===============================常用文檔操作函數(shù)===============================/*-------------------------------------文件類型--------------------------------------------------------------*/ /*獲取文件類型 @param string 文件的路徑 @retrun string 返回文件類型 */ $str = filetype('C:/SWSetup');is_dir('C:/SWSetup'); //判斷是不是目錄is_file('C:/SWSetup'); //判斷是不是文件is_executable('C:/SWSetup'); //判斷是不是可執(zhí)行文件is_readable('C:/SWSetup'); //判斷是不是可讀文件is_writable('C:/SWSetup'); //判斷是不是可寫文件is_link('C:/SWSetup'); //判斷是不是快捷方式/*-------------------------------------文件屬性--------------------------------------------------------------*/file_exists('C:/SWSetup'); //文件是否存在//文件大小 返回的是一個btye $str = filesize('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe'); $str = GetFileSize($str);/*文件大小計算函數(shù)*/function GetFileSize($size){$dw="Byte";if($size >= pow(2,40)){$size=round($size/pow(2,40),2);$dw="TB";}else if($size >= pow(2,30)){$size=round($size/pow(2,30),2);$dw="GB";}else if($size >= pow(2,20)){$size=round($size/pow(2,20),2);$dw="MB";}else if($size >=pow(2,10)){$size=round($size/pow(2,10),2);$dw="KB";}else{$dw="Bytes";}return $size.$dw;}//文件創(chuàng)建時間 返回的是一個UNIX時間戳 $str = date('Y-m-d',filectime('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe')); //文件修改時間 返回的是一個UNIX時間戳 $str = date('Y-m-d',filemtime('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe')); //文件最后訪問的時間 返回的是一個UNIX時間戳 $str = date('Y-m-d',fileatime('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe')); //文件的狀態(tài) 返回的是一個數(shù)組 $arr = stat('C:/Navicat_for_MySQL_11.0.10_XiaZaiBa.exe'); /*Array([0] => 2[1] => 0[2] => 33279[3] => 1[4] => 0[5] => 0[6] => 2[7] => 13086564[8] => 1399013467[9] => 1399013468[10] => 1399013466[11] => -1[12] => -1[dev] => 2[ino] => 0[mode] => 33279[nlink] => 1[uid] => 0[gid] => 0[rdev] => 2[size] => 13086564[atime] => 1399013467[mtime] => 1399013468[ctime] => 1399013466[blksize] => -1[blocks] => -1) *//*-------------------------------------文件函數(shù)--------------------------------------------------------------*/ //取文件名 返回Monokai.xml; $str = basename('C:/Program Files/Notepad++/themes/Monokai.xml');//取文件目錄名稱,如要想要取上一級 只需要嵌套就可以driname(driname(url)); $str = dirname('C:/Program Files/Notepad++/themes/Monokai.xml');//路徑信息; 返回的是一個數(shù)組 $array = pathinfo('C:/Program Files/Notepad++/themes/Monokai.xml'); /*Array([dirname] => C:/Program Files/Notepad++/themes[basename] => Monokai.xml[extension] => xml[filename] => Monokai) *///文件擴展名 $str = get_extension('C:/Program Files/Notepad++/themes/Monokai.xml'); function get_extension($file) { $info = pathinfo($file); return $info['extension']; } /*-------------------------------------文件基本操作函數(shù)--------------------------------------------------------------*//*文件的創(chuàng)建 @param string 文件路徑 @param date 文件創(chuàng)建時間UNIX 時間 省略默認系統(tǒng)時間 @param date 文件訪問時間UNIX 時間 省略默認系統(tǒng)時間 @return bool 創(chuàng)建成功返回true 失敗 false */ touch("C:/Program Files/Notepad++/themes/myphp.txt",time()-3000,time()-2000);/*文件的刪除 @param string 文件路徑 @return bool 刪除成功返回true 失敗 false */ unlink("C:/Program Files/Notepad++/themes/myphp.txt");/*移動文件(重命名文件) @param string 當前文件路徑 @param string 目標文件路徑 @return bool 成功返回true 失敗 false */ rename('C:/Program Files/Notepad++/themes/copyme.txt','C:/copyme.txt');/*復制文件(重命名文件) @param string 當前文件路徑 @param string 目標文件路徑 @return bool 成功返回true 失敗 false */ copy('C:/Program Files/Notepad++/themes/copyme.txt','C:/copyme.txt');/*-------------------------------------讀取文件操作函數(shù)--------------------------------------------------------------*/ //將C:/1.txt文件從20個字符開始讀取14個字符 $str = file_get_contents('C:/1.txt', NULL, NULL, 0, 14);//將讀取一個網(wǎng)絡文件 $str = file_get_contents('http://www.baidu.com');//把整個文件讀入一個數(shù)組中,每一個元素對應一行 $str = file('C:/1.txt');//讀入一個文件并寫入到輸出緩沖區(qū)不用再使用each //readfile('C:/1.txt');/*將filename 指定的名字資源綁定到一個流上。 @param string 打開文件或者 URL @param string 參數(shù)指定了所要求到該流的訪問類型 r, r+, w, w+ ,a ,a+, x, x+,c,c+ @return object 返回打開的文件指針 */ $handle = fopen('C:/1.txt','r');/*從文件指針handl中讀取100個字符 @param object 文件指針 @pream int 讀取多少字符 @return string 返回讀取到的字符 */ $str = fread($handle,100);/*從文件句柄中獲取一個字符。 @param object 文件指針 @return string 返回一個字符 */ $str = fgetc($handle);/*從文件句柄中獲取一個行。 @param object 文件指針 @return string 返回一個行 */ $str = fgets($handle);//判斷文件結尾 feof($handle);/*在與 handle 關聯(lián)的文件中設定文件指針位置。新位置從文件頭開始以字節(jié)數(shù)度量,是以whence 指定的位置加上多少個 @param object 文件指針 @param whence 1.SEEK_SET - 設定位置等于 offset 字節(jié)。 2.SEEK_CUR - 設定位置為當前位置加上 offset。 3.SEEK_END - 設定位置為文件尾加上 offset。 @param int 加上多少個字符 @return boolean 成功true 失敗 false */ fseek($handle,10);/*指向的文件關閉。 @param object 文件指針 @return bool 是否關閉成功 */ fclose($handle); /*-------------------------------------寫入文件操作函數(shù)--------------------------------------------------------------*//*向指定文件寫入文件功能類似 fopen() fwrite() fclose() 函數(shù)一樣 @param string 文件的路徑 @param string 文件的內(nèi)容 可以使一個字符串也可以是一個數(shù)組 (不能使多維數(shù)組) @param FILE_USE_INCLUDE_PATH 在 include 目錄里搜索 filename FILE_APPEND 如果文件 filename 已經(jīng)存在,追加數(shù)據(jù)而不是覆蓋 LOCK_EX在寫入時獲得一個獨占鎖。 */ file_put_contents('C:/1.txt',"寫入的內(nèi)容",FILE_APPEND | LOCK_EX);/*使用a可以在文件的結尾處進行寫入不像使用w一樣覆蓋文件*/ /*使用r+可以在文件的開頭處進行寫入不像使用w一樣覆蓋文*/ //把 string 的內(nèi)容寫入 文件指針 handle 處。 fwrite($handle,"常用文件操======作");//獲取文件類型 //===============================常用文件操作函數(shù)===============================//打開文件 返回一個文件句柄 $handle = opendir("E:/www/test");//讀取文件 返回該文件下文件名 $filename = readdir($handle);//剪切 重命名 原路徑/ 現(xiàn)在的路徑 rename ( "/tmp/tmp_file.txt" , "/home/user/login/docs/my_file.txt" ); echo "</pre>";//===============================常用圖像處理函數(shù)=============================== /*創(chuàng)建畫布,返回一個資源類型的變量$image,并在內(nèi)存中開辟一塊臨時區(qū)域 *@param int x_size *@param int y_size *@return object $img */ $img = imagecreatetruecolor(200,200); echo imagesx($img); //輸出畫布寬度200 echo imagesy($img); //輸出畫布長度200/*設置顏色 第一次調(diào)用的時候會給圖像增加一個背景顏色 *@param $objec 一個圖像句柄 *@param int $red *@param int $green *@param int $blue *@return 顏色 */ $backgorund = imagecolorallocate($img,255,0,0); $white = imagecolorallocate($img,255,255,255); $black = imagecolorallocate($img,0,0,0);/*生成圖像,可以將動態(tài)繪制的畫布,直接輸出為GIF,JPEG,PNG,WBMP四種格式 *使用header發(fā)送標頭信息,用來通知瀏覽器使用正確的MIME類型進行解析 *@param resource $image 圖像句柄 */ bool imagegif(); bool imagejpeg(); bool imagepng(); bool imagewbmp(); header("Content-type:image/gif"); imagegif($img);/*---------------------------------------繪制圖像--------------------------*//*區(qū)域填充 *@param resource 圖像句柄 *@param int X點坐標 *@param int Y點坐標 *@param int color 顏色 *@return bool 成功true 失敗 false */ imagefill($img,$x,$y,$color);//點 ImageSetPixel($img,$x,$y,$color);//線 ImageLine($img,$x1,$y1,$x2,$y2,$color);//矩形 ImageRectangle($img,$x1,$y1,$x2,$y2,$color); //畫一個矩形 ImageFilledRectangle($img,$x1,$y1,$x2,$y2,$color); //畫一個填充矩形//繪制多邊形: ImagePolyGon($img,$points,$num_points,$color); //畫一個多邊形 ImageFilledPolyGon($img,$points,$num_points,$color); //畫一個多邊形并且填充//繪制橢圓: /*繪制一個橢圓 *@param resource 圖像句柄 *@param int 圓心x坐標 *@param int 圓心y坐標 *@param int 圓的寬度 *@param int 圓的高度 *@param int 圓的顏色 *@return 成功 true, 失敗false */ ImageEllipse($image,$cx,$cy,$w,$h,$color);ImageFilledEllipse($image,$cx,$cy,$w,$h,$color); //畫一個橢圓并填充//弧線 /*繪制一個橢圓 *@param resource image 圖像句柄 ×@param int cx 弧形心x坐標 ×@param int cy 弧形心y坐標 ×@param int w 弧形寬度 ×@param int h 弧形高度 ×@param int s 弧形開始的弧度 ×@param int e 弧形開始的弧度 *@param int color 顏色 IMG_ARC_CHORD 只是用直線連接了起始和結束點, IMG_ARC_PIE 則產(chǎn)生圓形邊界。 IMG_ARC_NOFILL 指明弧或弦只有輪廓,不填充。 IMG_ARC_EDGED 指明用直線將起始和結束點與中心點相連,和 IMG_ARC_NOFILL 一起使用是畫餅狀圖輪廓的好方法(而不用填充)。 *@return 成功 true, 失敗false */ ImageArc($image,$cx,$cy,$w,$h,$s,$e,$color); ImageFilledArc($image,$cx,$cy,$w,$h,$s,$e,$color,$style); //畫一個弧形并填充 bool imagedestroy($img); //銷毀一個資源 ?>
總結
以上是生活随笔為你收集整理的HP常用函数总结(一):的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Transactional cannot
- 下一篇: 利用福禄克网线/光纤测试仪规范测试BIC