HP常用函数总结(一):
生活随笔
收集整理的這篇文章主要介紹了
HP常用函数总结(一):
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
<?php echo "<pre>"; //===============================時間日期===============================//y返回年最后兩位,Y年四位數,m月份數字,M月份英文。d月份幾號數字,D星期幾英文 $date=date("Y-m-d"); $date=date("Y-m-d H:i:s");//帶時分秒//mktimes轉換成UNIX時間戳 參數 mktime(hour,minute,second,mouth,day,year); 依次從右左向右 時分秒 月 日 年; $str=date("Y-m-d",mktime(0,0,0,13,36,2007));//time();//獲取當前時間戳; $int=time();//getdate();//返回時間戳組成的關聯數組 getdate();//microtime() //返回一個當前的微秒數值; microtime(true);//include,include_once.require,require_once //require("file.php") 在PHP程序執行前就會先讀入require所指定引進的文件,如出現錯誤是致命的。 //include("file.php") 可以放在PHP程序的任何位置,PHP程序執行到時才讀入include指定引入的文件,如出現錯誤會提示//===============================輸出打印=============================== //sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不輸出。 //printf("%d","3.2") ;//即格式化,又輸出 //print("3.2") ;//只輸出 //echo "nihao","aa";//可以輸出多個字符串 //print_r(array("a","b","c"));//將數組的鍵值與元素依次顯示 //var_dump($string);//打印輸出一個對象//===============================常用字符串函數======================================//獲取字符串長度,有多少個字符,空格也算 $str=" sdaf sd "; $len=strlen($str);//用第一個參數里的字符串,把后面數組里的每個元素連接起來,返回一個字符串。 $str=implode("-",array("a","b","c")); //echo $str; //字符串分割方法,返回一個數組,用第一個參數里的字符分割后面的字符串,指定字符的前后和之間都截取,如果指定字符在開頭或結尾則返回的數組開頭或結尾的元素為空字符串 //沒有分割到字符串就返回給數組對應元素一個空值。最后一個限制返回數組長度,可不限制,則一直分割下去。 $array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4); //print_r($array);//剔除字符串左邊開頭的空格,并返回 //如有第二個參數則是剔除左邊開頭的空格換成剔除第二個參數里的字符串 $str=ltrim("a asd ","a");//剔除字符串右邊開頭的空格 $str=rtrim(" asd ");//把第一個字符串兩邊以第二個參數開頭的字符串剔除。如沒有第二個參數,默認剔除掉字符串兩邊開頭的空格 $str=trim(" sdsdfas ","a");//從字符串第一個參數里的指定位置開始取多長(多少個)字符,字符串中第一個字符位置從0算。 //如果第二個參數為負則從字符串結尾倒數第幾個開始取多長的字符串。結尾最后一個字符算-1,截取方向總是從左到右 $str=substr("abcdefgh",0,4);//將第三個參數的第一個參數字符串用參數二字符串替換 $str=str_replace("a","","abcabcAbca"); //與str_replace用法同,只是不區分大小寫 //$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); 不區分大小寫$value=array('a','b','D','0','W','i');$str=str_ireplace($value,"",$string)."<br>";//3.str_replace(array,array,string,count);將array中的數組元素替換替換成arrat中的數組元素 并且是一一對應對應 被替換為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); 不區分大小寫$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等將括號里字符串打印在網頁上時原汁原味打印出括號里的字符串,包括標簽字符 $str=htmlentities("<br/>");//返回第二個參數字符串在第一個字符串里出現的次數 $int=substr_count("abcdeabcdeablkabd","ab");//返回第二個字符串在第一個字符串第一次出現的位置,第一個字符位置算0 $int=strpos("asagaab","ab");//返回第二個字符串在第一個字符串最后一次出現的位置,第一個字符位置算0 $int=strrpos("asagaabadfab","ab");//截取返回參數一中從左至右第一個出現的參數二到參數一最后一個字符的字符串 $str=strstr("sdafsdgaababdsfgs","ab");//截取返回參數一中從左至右最后一個出現的參數二到參數一最后一個字符的字符串 $str=strrchr("sdafsdgaababdsfgs","ab");//將參數二中每一個字符在參數一中相同字符前加"\" $str=addcslashes("abcdefghijklmn","akd");//將參數一的字符串填充到參數二指定的長度(單字符個數),參數三為指定填充的字符串,不寫默認空格 //參數四填充位置,0在參數一左側開頭填充,1右側開頭,2兩邊開頭同時。不寫默認在右側開頭填充 $str=str_pad("abcdefgh",10,"at",0);//依次比較兩字符串對應字符阿斯克碼值,第一對不一樣的,如果參數一里大于參數二里的返回1,反之返回-1,兩字符串完全一樣返回0 $int1=strcmp("b","a");//返回第一個參數格式化后的數字格式,第二個參數為保留幾個小數,參數三為將小數點換成參數三,參數四為整數部分每三位用什么字符分割 //后面三個參數都不寫,則默認去掉小數部分,整數每隔三位用逗號,分割。參數三,參數四必須同時存在 $str=number_format(1231233.1415,2,"d","a");//=================================================常用正則函數=====================================================//1.preg_match$pattern="/(http):\/\/(www|ftp|email|wap|m)\W([0-9a-z]*)\W(org|cn|com|fuck|2B)/";$string.="這個是x人百度的網站http://www.baidu.com";$string.="這個是X人騰訊的網站http://www.qq.com";$string.="這個是x人谷歌的網站http://www.google.com";/*$matches: 返回一個數組正則表達式的子模式是使用括號()括起來的模式單元,只匹配第一個網址mathces[0] :表示的是pattern中匹配出來的整體內容mathces[1]: 表示的是pattern中匹配出來的第一個()的內容mathces[2]: 表示的是pattern中匹配出來的第二個()的內容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人百度的網站http://www.baidu.com";$string.="這個是X人騰訊的網站http://www.qq.com";$string.="這個是x人谷歌的網站http://www.google.com";/*$matches: 返回一個數組正則表達式的子模式是使用括號()括起來的模式單元,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 規則匹配出來的用replace進行limit次替換*/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="今年春節放假日期為01/25/2009到02/02/2009共七天.";$temp_string = preg_replace($pattern,"\${3}-\${1}-\${2}",$string); //echo $temp_string."<br>";/*使用修正符可以將需要替換的文字進行php函數處理并且可以相加*/$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);//數組替換$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]發信本行[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/*匹配數組中的元素返回與正則表達式匹配成功的數組單元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);//=================================================常用數據庫函數====================================================/*---------------------------------------連接數據庫-----------------------------------------------------------------*///mysql_connect('localhost','root','123456'); //mysql_error(); 連接數據庫錯誤信息 //mysql_errno(); 連接數據庫錯誤號 $link = mysql_connect('localhost','root','123456') or die('連接錯誤'.mysql_error());//mysql_select_db 選擇數據庫 參數:1.數據庫名稱 2.建立的連接 mysql_select_db('0537byby',$link) or die('不能夠選擇數據庫:'.mysql_error());/*---------------------------------------執行inset update delete 數據庫命令-----------------------------------------------*/ /*執行數據庫語句 @param str sql語句 @return boolean 成功返回true 失敗返回false; */$result = mysql_query($sql);/*查看一共影響了多少行 @return int 返回影響的行數 */ $int = mysql_affected_rows();/*查看插入的最后一條新紀錄的AUTO_INCREMENT 值是多少 @return int 返回影響auto_increment 的最后一行信息 */ $int= mysql_insert_id();/*---------------------------------------執行select 查詢數據庫命令處理結果集-----------------------------------------------*/ //$result = mysql_query($sql);/*從數據庫中獲的記錄行的個數 @return int 返回行 */ $rows = mysql_num_rows($result);/*從數據庫中獲取列的記錄個數 @return int 返回列 */ $cols = mysql_num_fields($result);/*將一條記錄返回并以一個普通索引數組形式保存 @param array 執行數據庫返回的數組 @return array 返回一個索引數組 */ $row = mysql_fetch_row($result);/*將一條記錄返回并以一個普通關聯數組的形式保存 @param array 執行數據庫返回的數組 @return array 返回一個關聯數組 */ $row = mysql_fetch_assoc($result);/*將一條記錄返回兩種默認形式 關聯數組和索引數組 @param array 執行數據庫返回的數組 @return array 返回一個結果集 */ $row = mysql_fetch_array($result);/*將一返回一條對象的數據 @param array 執行數據庫返回的數組 @return object 返回一個對象 */ $row = mysql_fetch_object($result);/*---------------------------------------查看信息-----------------------------------------------------------------*///客戶端API函數庫的版本信息 $str = mysql_get_client_info();//與MySql服務器的的連接類型 $str = mysql_get_host_info();//通信協議的版本信息 $str = mysql_get_server_info();//客戶端使用的默認字符集 $str = mysql_client_encoding();//MySql服務器的當前工作狀態 $str = mysql_stat();//關閉與MySql服務器建立的連接 mysql_close($link);//=========================================常用數學函數==============================================================//求一個數的絕對值 $int=abs(-100);//返回大于或者等于指定表達式的最小整數(下例為3) $int=ceil(2.01);//返回等于指定表達式的最小整數(下例為2) $int =floor(2.51);//取多個參數之間的最大值 $int=max(2,43,5,6,7,89,9);//取多個參數之間的最小值 $int=min(2,43,5,6,7,89,9);//取兩個參數之間的隨機數 $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 //本函數用來將浮點數number格式化,其中第一個參數number指定被格式化的浮點數;第二個參數decimals指定格式化后的小數位數,如果number的小數位多于指定的小數位,則會進行四舍五入;第三個參數dec_point指定整數和小數部分間的分隔符,默認值為".";第四個參數sep指定整數部分中每三位間的分隔符,默認值為","。 $str=number_format(222222222.1111,2,'.',',');//========================================常用數組方法===============================$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");//返回數組元素個數 $int=count($arr);//判斷第二參數的數組元素中是否有第一個參數元素 $bool=in_array("b",$arr);//返回括號中數組所有鍵值組成的新數組原數組不改變 $array=array_keys($arr);//判斷第二個參數的數組中是否有第一個參數的鍵值,返回真假 $bool=array_key_exists("k1",$arr);//返回原數組中所有元素值組成的新數組,鍵值從0開始自增,原數組不變 $array=array_values($arr);//返回當前數組指針指向的鍵值 $key=key($arr);//返回當前數組指針指向的元素值 $value=current($arr);//返回當前數組指針指向元素的鍵值及元素值組成的數組,再將指針推向下一位,最后指針指向的是一個空元素返回空 //返回的數組中有四個固定鍵值對應的元素值分別是返回元素的鍵值及元素值,其中0,'key'鍵值都對應返回元素鍵值,1,'value'鍵值都對應返回的元素值 $array=each($arr);//先將數組指針推向下一位,再返回指針移動后指向的元素值 $value=next($arr);//將數組指針推向上一位,再返回指針移動后指向的元素值 $value=prev($arr);//讓數組指針重置指向第一個元素并返回元素值 $value=reset($arr);//將數組指針指向最后一位元素,并返回最后一位元素值 $value=end($arr);//將第一個參數以后的參數作為元素追加入第一個參數數組的末尾,索引從最小的沒用過的數值開始計,返回之后的數組長度 $int=array_push($arr,"d","dfsd");//將第一個參數數組后面所有參數作為元素添加到第一個參數數組開頭處,鍵值以0從第一個元素處重新累加,原非數值的鍵值保持不變,原元素排序位置不變,返回之后的數組長度 $int=array_unshift($arr,"t1","t2");//返回從數組尾部提取最后一個元素值,并把最后一個元素從原數組中剔除 $value=array_pop($arr);//array_pop相反,提取返回數組頭一個元素值,并把頭一個元素從原數組中剔除 $value=array_shift($arr);//讓第一個參數數組達到第二個參數數值長度,將第三個參數作為元素添加到第一個參數數組的末尾,索引從最小沒用過數值開始計并返回,原數組不改變 $array1=array_pad($arr,10,"t10");//返回一個將原數組中多余重復元素剔除掉的新數組,原數組不改變 $array=array_unique($array1);//將原數組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數字0開始重計 $int=sort($array);//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計 $int=rsort($array);//返回將第一個參數數組中每一個元素值依次作為鍵值付給參數二數組的數組,兩數組長度必須一致,原數組不改變 $array=array_combine(array("a","b","c","d","e"),$arr);//將兩個數組合并并返回原數組不變 $array=array_merge($arr,array("a","b","c"));//在第一個參數數組中從第二個參數數值位置開始截取到第三個參數數值長度的數組鍵值+元素并返回,數組第一個元素位置從0計 $array=array_slice($arr,2,1);//截取功能和array_slice()一樣,只是將截取部分在原數組中剔除 $array=array_splice($arr,2,1);//將第一個參數作為第一個元素,每次自增參數三的值,自增后再作為一個元素存在數組中,直到值達到參數二的值存到數組中為止并返回這個數組 //參數一,參數二可以是數字,可以是單個字符,單字符就按阿斯柯碼值算,第三個參數不寫默認每次自增1 $array=range(3,9,2);//將原數組元素與對應鍵值的對應關系重新隨機排列返回真假 $bool=shuffle($arr);//計算數組中所有數值型元素值的和 $int=array_sum(array("a",2,"cssf"));//把一個數組分割為新的數組塊,新數組每個元素都是一個數組,新數組每個元素內有幾個元素由參數二決定 //第三個參數決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認false不保留 $array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);//json_encode()將數組轉換成JSON格式字符串返回 $arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4')); //echo $encode_str = json_encode($arr);//json_decode()將JSON格式字符串轉換成能強制轉換成數組的對象返回,JSON格式字符串中鍵與值需要引號括起來時必須用雙引號 $decode_arr = (array)json_decode($encode_str); //var_dump($decode_arr);//===============================常用文檔操作函數===============================/*-------------------------------------文件類型--------------------------------------------------------------*/ /*獲取文件類型 @param string 文件的路徑 @retrun string 返回文件類型 */ $str = filetype('C:/SWSetup');is_dir('C:/SWSetup'); //判斷是不是目錄is_file('C:/SWSetup'); //判斷是不是文件is_executable('C:/SWSetup'); //判斷是不是可執行文件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);/*文件大小計算函數*/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;}//文件創建時間 返回的是一個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')); //文件的狀態 返回的是一個數組 $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) *//*-------------------------------------文件函數--------------------------------------------------------------*/ //取文件名 返回Monokai.xml; $str = basename('C:/Program Files/Notepad++/themes/Monokai.xml');//取文件目錄名稱,如要想要取上一級 只需要嵌套就可以driname(driname(url)); $str = dirname('C:/Program Files/Notepad++/themes/Monokai.xml');//路徑信息; 返回的是一個數組 $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']; } /*-------------------------------------文件基本操作函數--------------------------------------------------------------*//*文件的創建 @param string 文件路徑 @param date 文件創建時間UNIX 時間 省略默認系統時間 @param date 文件訪問時間UNIX 時間 省略默認系統時間 @return bool 創建成功返回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');/*-------------------------------------讀取文件操作函數--------------------------------------------------------------*/ //將C:/1.txt文件從20個字符開始讀取14個字符 $str = file_get_contents('C:/1.txt', NULL, NULL, 0, 14);//將讀取一個網絡文件 $str = file_get_contents('http://www.baidu.com');//把整個文件讀入一個數組中,每一個元素對應一行 $str = file('C:/1.txt');//讀入一個文件并寫入到輸出緩沖區不用再使用each //readfile('C:/1.txt');/*將filename 指定的名字資源綁定到一個流上。 @param string 打開文件或者 URL @param string 參數指定了所要求到該流的訪問類型 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 關聯的文件中設定文件指針位置。新位置從文件頭開始以字節數度量,是以whence 指定的位置加上多少個 @param object 文件指針 @param whence 1.SEEK_SET - 設定位置等于 offset 字節。 2.SEEK_CUR - 設定位置為當前位置加上 offset。 3.SEEK_END - 設定位置為文件尾加上 offset。 @param int 加上多少個字符 @return boolean 成功true 失敗 false */ fseek($handle,10);/*指向的文件關閉。 @param object 文件指針 @return bool 是否關閉成功 */ fclose($handle); /*-------------------------------------寫入文件操作函數--------------------------------------------------------------*//*向指定文件寫入文件功能類似 fopen() fwrite() fclose() 函數一樣 @param string 文件的路徑 @param string 文件的內容 可以使一個字符串也可以是一個數組 (不能使多維數組) @param FILE_USE_INCLUDE_PATH 在 include 目錄里搜索 filename FILE_APPEND 如果文件 filename 已經存在,追加數據而不是覆蓋 LOCK_EX在寫入時獲得一個獨占鎖。 */ file_put_contents('C:/1.txt',"寫入的內容",FILE_APPEND | LOCK_EX);/*使用a可以在文件的結尾處進行寫入不像使用w一樣覆蓋文件*/ /*使用r+可以在文件的開頭處進行寫入不像使用w一樣覆蓋文*/ //把 string 的內容寫入 文件指針 handle 處。 fwrite($handle,"常用文件操======作");//獲取文件類型 //===============================常用文件操作函數===============================//打開文件 返回一個文件句柄 $handle = opendir("E:/www/test");//讀取文件 返回該文件下文件名 $filename = readdir($handle);//剪切 重命名 原路徑/ 現在的路徑 rename ( "/tmp/tmp_file.txt" , "/home/user/login/docs/my_file.txt" ); echo "</pre>";//===============================常用圖像處理函數=============================== /*創建畫布,返回一個資源類型的變量$image,并在內存中開辟一塊臨時區域 *@param int x_size *@param int y_size *@return object $img */ $img = imagecreatetruecolor(200,200); echo imagesx($img); //輸出畫布寬度200 echo imagesy($img); //輸出畫布長度200/*設置顏色 第一次調用的時候會給圖像增加一個背景顏色 *@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);/*生成圖像,可以將動態繪制的畫布,直接輸出為GIF,JPEG,PNG,WBMP四種格式 *使用header發送標頭信息,用來通知瀏覽器使用正確的MIME類型進行解析 *@param resource $image 圖像句柄 */ bool imagegif(); bool imagejpeg(); bool imagepng(); bool imagewbmp(); header("Content-type:image/gif"); imagegif($img);/*---------------------------------------繪制圖像--------------------------*//*區域填充 *@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 則產生圓形邊界。 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年四位數,m月份數字,M月份英文。d月份幾號數字,D星期幾英文 $date=date("Y-m-d"); $date=date("Y-m-d H:i:s");//帶時分秒//mktimes轉換成UNIX時間戳 參數 mktime(hour,minute,second,mouth,day,year); 依次從右左向右 時分秒 月 日 年; $str=date("Y-m-d",mktime(0,0,0,13,36,2007));//time();//獲取當前時間戳; $int=time();//getdate();//返回時間戳組成的關聯數組 getdate();//microtime() //返回一個當前的微秒數值; microtime(true);//include,include_once.require,require_once //require("file.php") 在PHP程序執行前就會先讀入require所指定引進的文件,如出現錯誤是致命的。 //include("file.php") 可以放在PHP程序的任何位置,PHP程序執行到時才讀入include指定引入的文件,如出現錯誤會提示//===============================輸出打印=============================== //sprintf("%d","3.2") ;//只格式化,返回格式化后的字符串,不輸出。 //printf("%d","3.2") ;//即格式化,又輸出 //print("3.2") ;//只輸出 //echo "nihao","aa";//可以輸出多個字符串 //print_r(array("a","b","c"));//將數組的鍵值與元素依次顯示 //var_dump($string);//打印輸出一個對象//===============================常用字符串函數======================================//獲取字符串長度,有多少個字符,空格也算 $str=" sdaf sd "; $len=strlen($str);//用第一個參數里的字符串,把后面數組里的每個元素連接起來,返回一個字符串。 $str=implode("-",array("a","b","c")); //echo $str; //字符串分割方法,返回一個數組,用第一個參數里的字符分割后面的字符串,指定字符的前后和之間都截取,如果指定字符在開頭或結尾則返回的數組開頭或結尾的元素為空字符串 //沒有分割到字符串就返回給數組對應元素一個空值。最后一個限制返回數組長度,可不限制,則一直分割下去。 $array=explode("a","asddad addsadassd dasdadfsdfasdaaa",4); //print_r($array);//剔除字符串左邊開頭的空格,并返回 //如有第二個參數則是剔除左邊開頭的空格換成剔除第二個參數里的字符串 $str=ltrim("a asd ","a");//剔除字符串右邊開頭的空格 $str=rtrim(" asd ");//把第一個字符串兩邊以第二個參數開頭的字符串剔除。如沒有第二個參數,默認剔除掉字符串兩邊開頭的空格 $str=trim(" sdsdfas ","a");//從字符串第一個參數里的指定位置開始取多長(多少個)字符,字符串中第一個字符位置從0算。 //如果第二個參數為負則從字符串結尾倒數第幾個開始取多長的字符串。結尾最后一個字符算-1,截取方向總是從左到右 $str=substr("abcdefgh",0,4);//將第三個參數的第一個參數字符串用參數二字符串替換 $str=str_replace("a","","abcabcAbca"); //與str_replace用法同,只是不區分大小寫 //$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); 不區分大小寫$value=array('a','b','D','0','W','i');$str=str_ireplace($value,"",$string)."<br>";//3.str_replace(array,array,string,count);將array中的數組元素替換替換成arrat中的數組元素 并且是一一對應對應 被替換為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); 不區分大小寫$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等將括號里字符串打印在網頁上時原汁原味打印出括號里的字符串,包括標簽字符 $str=htmlentities("<br/>");//返回第二個參數字符串在第一個字符串里出現的次數 $int=substr_count("abcdeabcdeablkabd","ab");//返回第二個字符串在第一個字符串第一次出現的位置,第一個字符位置算0 $int=strpos("asagaab","ab");//返回第二個字符串在第一個字符串最后一次出現的位置,第一個字符位置算0 $int=strrpos("asagaabadfab","ab");//截取返回參數一中從左至右第一個出現的參數二到參數一最后一個字符的字符串 $str=strstr("sdafsdgaababdsfgs","ab");//截取返回參數一中從左至右最后一個出現的參數二到參數一最后一個字符的字符串 $str=strrchr("sdafsdgaababdsfgs","ab");//將參數二中每一個字符在參數一中相同字符前加"\" $str=addcslashes("abcdefghijklmn","akd");//將參數一的字符串填充到參數二指定的長度(單字符個數),參數三為指定填充的字符串,不寫默認空格 //參數四填充位置,0在參數一左側開頭填充,1右側開頭,2兩邊開頭同時。不寫默認在右側開頭填充 $str=str_pad("abcdefgh",10,"at",0);//依次比較兩字符串對應字符阿斯克碼值,第一對不一樣的,如果參數一里大于參數二里的返回1,反之返回-1,兩字符串完全一樣返回0 $int1=strcmp("b","a");//返回第一個參數格式化后的數字格式,第二個參數為保留幾個小數,參數三為將小數點換成參數三,參數四為整數部分每三位用什么字符分割 //后面三個參數都不寫,則默認去掉小數部分,整數每隔三位用逗號,分割。參數三,參數四必須同時存在 $str=number_format(1231233.1415,2,"d","a");//=================================================常用正則函數=====================================================//1.preg_match$pattern="/(http):\/\/(www|ftp|email|wap|m)\W([0-9a-z]*)\W(org|cn|com|fuck|2B)/";$string.="這個是x人百度的網站http://www.baidu.com";$string.="這個是X人騰訊的網站http://www.qq.com";$string.="這個是x人谷歌的網站http://www.google.com";/*$matches: 返回一個數組正則表達式的子模式是使用括號()括起來的模式單元,只匹配第一個網址mathces[0] :表示的是pattern中匹配出來的整體內容mathces[1]: 表示的是pattern中匹配出來的第一個()的內容mathces[2]: 表示的是pattern中匹配出來的第二個()的內容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人百度的網站http://www.baidu.com";$string.="這個是X人騰訊的網站http://www.qq.com";$string.="這個是x人谷歌的網站http://www.google.com";/*$matches: 返回一個數組正則表達式的子模式是使用括號()括起來的模式單元,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 規則匹配出來的用replace進行limit次替換*/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="今年春節放假日期為01/25/2009到02/02/2009共七天.";$temp_string = preg_replace($pattern,"\${3}-\${1}-\${2}",$string); //echo $temp_string."<br>";/*使用修正符可以將需要替換的文字進行php函數處理并且可以相加*/$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);//數組替換$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]發信本行[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/*匹配數組中的元素返回與正則表達式匹配成功的數組單元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);//=================================================常用數據庫函數====================================================/*---------------------------------------連接數據庫-----------------------------------------------------------------*///mysql_connect('localhost','root','123456'); //mysql_error(); 連接數據庫錯誤信息 //mysql_errno(); 連接數據庫錯誤號 $link = mysql_connect('localhost','root','123456') or die('連接錯誤'.mysql_error());//mysql_select_db 選擇數據庫 參數:1.數據庫名稱 2.建立的連接 mysql_select_db('0537byby',$link) or die('不能夠選擇數據庫:'.mysql_error());/*---------------------------------------執行inset update delete 數據庫命令-----------------------------------------------*/ /*執行數據庫語句 @param str sql語句 @return boolean 成功返回true 失敗返回false; */$result = mysql_query($sql);/*查看一共影響了多少行 @return int 返回影響的行數 */ $int = mysql_affected_rows();/*查看插入的最后一條新紀錄的AUTO_INCREMENT 值是多少 @return int 返回影響auto_increment 的最后一行信息 */ $int= mysql_insert_id();/*---------------------------------------執行select 查詢數據庫命令處理結果集-----------------------------------------------*/ //$result = mysql_query($sql);/*從數據庫中獲的記錄行的個數 @return int 返回行 */ $rows = mysql_num_rows($result);/*從數據庫中獲取列的記錄個數 @return int 返回列 */ $cols = mysql_num_fields($result);/*將一條記錄返回并以一個普通索引數組形式保存 @param array 執行數據庫返回的數組 @return array 返回一個索引數組 */ $row = mysql_fetch_row($result);/*將一條記錄返回并以一個普通關聯數組的形式保存 @param array 執行數據庫返回的數組 @return array 返回一個關聯數組 */ $row = mysql_fetch_assoc($result);/*將一條記錄返回兩種默認形式 關聯數組和索引數組 @param array 執行數據庫返回的數組 @return array 返回一個結果集 */ $row = mysql_fetch_array($result);/*將一返回一條對象的數據 @param array 執行數據庫返回的數組 @return object 返回一個對象 */ $row = mysql_fetch_object($result);/*---------------------------------------查看信息-----------------------------------------------------------------*///客戶端API函數庫的版本信息 $str = mysql_get_client_info();//與MySql服務器的的連接類型 $str = mysql_get_host_info();//通信協議的版本信息 $str = mysql_get_server_info();//客戶端使用的默認字符集 $str = mysql_client_encoding();//MySql服務器的當前工作狀態 $str = mysql_stat();//關閉與MySql服務器建立的連接 mysql_close($link);//=========================================常用數學函數==============================================================//求一個數的絕對值 $int=abs(-100);//返回大于或者等于指定表達式的最小整數(下例為3) $int=ceil(2.01);//返回等于指定表達式的最小整數(下例為2) $int =floor(2.51);//取多個參數之間的最大值 $int=max(2,43,5,6,7,89,9);//取多個參數之間的最小值 $int=min(2,43,5,6,7,89,9);//取兩個參數之間的隨機數 $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 //本函數用來將浮點數number格式化,其中第一個參數number指定被格式化的浮點數;第二個參數decimals指定格式化后的小數位數,如果number的小數位多于指定的小數位,則會進行四舍五入;第三個參數dec_point指定整數和小數部分間的分隔符,默認值為".";第四個參數sep指定整數部分中每三位間的分隔符,默認值為","。 $str=number_format(222222222.1111,2,'.',',');//========================================常用數組方法===============================$arr=array("k0"=>"a","k1"=>"b","k2"=>"c");//返回數組元素個數 $int=count($arr);//判斷第二參數的數組元素中是否有第一個參數元素 $bool=in_array("b",$arr);//返回括號中數組所有鍵值組成的新數組原數組不改變 $array=array_keys($arr);//判斷第二個參數的數組中是否有第一個參數的鍵值,返回真假 $bool=array_key_exists("k1",$arr);//返回原數組中所有元素值組成的新數組,鍵值從0開始自增,原數組不變 $array=array_values($arr);//返回當前數組指針指向的鍵值 $key=key($arr);//返回當前數組指針指向的元素值 $value=current($arr);//返回當前數組指針指向元素的鍵值及元素值組成的數組,再將指針推向下一位,最后指針指向的是一個空元素返回空 //返回的數組中有四個固定鍵值對應的元素值分別是返回元素的鍵值及元素值,其中0,'key'鍵值都對應返回元素鍵值,1,'value'鍵值都對應返回的元素值 $array=each($arr);//先將數組指針推向下一位,再返回指針移動后指向的元素值 $value=next($arr);//將數組指針推向上一位,再返回指針移動后指向的元素值 $value=prev($arr);//讓數組指針重置指向第一個元素并返回元素值 $value=reset($arr);//將數組指針指向最后一位元素,并返回最后一位元素值 $value=end($arr);//將第一個參數以后的參數作為元素追加入第一個參數數組的末尾,索引從最小的沒用過的數值開始計,返回之后的數組長度 $int=array_push($arr,"d","dfsd");//將第一個參數數組后面所有參數作為元素添加到第一個參數數組開頭處,鍵值以0從第一個元素處重新累加,原非數值的鍵值保持不變,原元素排序位置不變,返回之后的數組長度 $int=array_unshift($arr,"t1","t2");//返回從數組尾部提取最后一個元素值,并把最后一個元素從原數組中剔除 $value=array_pop($arr);//array_pop相反,提取返回數組頭一個元素值,并把頭一個元素從原數組中剔除 $value=array_shift($arr);//讓第一個參數數組達到第二個參數數值長度,將第三個參數作為元素添加到第一個參數數組的末尾,索引從最小沒用過數值開始計并返回,原數組不改變 $array1=array_pad($arr,10,"t10");//返回一個將原數組中多余重復元素剔除掉的新數組,原數組不改變 $array=array_unique($array1);//將原數組鍵值打破重新以元素值的阿斯克碼值從小到大排序,索引從數字0開始重計 $int=sort($array);//和sort相反,以元素值阿斯柯碼值大小降序重新排序,索引從0重新計 $int=rsort($array);//返回將第一個參數數組中每一個元素值依次作為鍵值付給參數二數組的數組,兩數組長度必須一致,原數組不改變 $array=array_combine(array("a","b","c","d","e"),$arr);//將兩個數組合并并返回原數組不變 $array=array_merge($arr,array("a","b","c"));//在第一個參數數組中從第二個參數數值位置開始截取到第三個參數數值長度的數組鍵值+元素并返回,數組第一個元素位置從0計 $array=array_slice($arr,2,1);//截取功能和array_slice()一樣,只是將截取部分在原數組中剔除 $array=array_splice($arr,2,1);//將第一個參數作為第一個元素,每次自增參數三的值,自增后再作為一個元素存在數組中,直到值達到參數二的值存到數組中為止并返回這個數組 //參數一,參數二可以是數字,可以是單個字符,單字符就按阿斯柯碼值算,第三個參數不寫默認每次自增1 $array=range(3,9,2);//將原數組元素與對應鍵值的對應關系重新隨機排列返回真假 $bool=shuffle($arr);//計算數組中所有數值型元素值的和 $int=array_sum(array("a",2,"cssf"));//把一個數組分割為新的數組塊,新數組每個元素都是一個數組,新數組每個元素內有幾個元素由參數二決定 //第三個參數決定元素的鍵值是否保留原鍵值可不寫,true為保留,默認false不保留 $array=array_chunk(array("a"=>"a","b","c","d","e","f","g","h"),2,true);//json_encode()將數組轉換成JSON格式字符串返回 $arr = array('k1'=>'val1','k2'=>'val2','k3'=>array('v3','v4')); //echo $encode_str = json_encode($arr);//json_decode()將JSON格式字符串轉換成能強制轉換成數組的對象返回,JSON格式字符串中鍵與值需要引號括起來時必須用雙引號 $decode_arr = (array)json_decode($encode_str); //var_dump($decode_arr);//===============================常用文檔操作函數===============================/*-------------------------------------文件類型--------------------------------------------------------------*/ /*獲取文件類型 @param string 文件的路徑 @retrun string 返回文件類型 */ $str = filetype('C:/SWSetup');is_dir('C:/SWSetup'); //判斷是不是目錄is_file('C:/SWSetup'); //判斷是不是文件is_executable('C:/SWSetup'); //判斷是不是可執行文件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);/*文件大小計算函數*/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;}//文件創建時間 返回的是一個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')); //文件的狀態 返回的是一個數組 $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) *//*-------------------------------------文件函數--------------------------------------------------------------*/ //取文件名 返回Monokai.xml; $str = basename('C:/Program Files/Notepad++/themes/Monokai.xml');//取文件目錄名稱,如要想要取上一級 只需要嵌套就可以driname(driname(url)); $str = dirname('C:/Program Files/Notepad++/themes/Monokai.xml');//路徑信息; 返回的是一個數組 $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']; } /*-------------------------------------文件基本操作函數--------------------------------------------------------------*//*文件的創建 @param string 文件路徑 @param date 文件創建時間UNIX 時間 省略默認系統時間 @param date 文件訪問時間UNIX 時間 省略默認系統時間 @return bool 創建成功返回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');/*-------------------------------------讀取文件操作函數--------------------------------------------------------------*/ //將C:/1.txt文件從20個字符開始讀取14個字符 $str = file_get_contents('C:/1.txt', NULL, NULL, 0, 14);//將讀取一個網絡文件 $str = file_get_contents('http://www.baidu.com');//把整個文件讀入一個數組中,每一個元素對應一行 $str = file('C:/1.txt');//讀入一個文件并寫入到輸出緩沖區不用再使用each //readfile('C:/1.txt');/*將filename 指定的名字資源綁定到一個流上。 @param string 打開文件或者 URL @param string 參數指定了所要求到該流的訪問類型 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 關聯的文件中設定文件指針位置。新位置從文件頭開始以字節數度量,是以whence 指定的位置加上多少個 @param object 文件指針 @param whence 1.SEEK_SET - 設定位置等于 offset 字節。 2.SEEK_CUR - 設定位置為當前位置加上 offset。 3.SEEK_END - 設定位置為文件尾加上 offset。 @param int 加上多少個字符 @return boolean 成功true 失敗 false */ fseek($handle,10);/*指向的文件關閉。 @param object 文件指針 @return bool 是否關閉成功 */ fclose($handle); /*-------------------------------------寫入文件操作函數--------------------------------------------------------------*//*向指定文件寫入文件功能類似 fopen() fwrite() fclose() 函數一樣 @param string 文件的路徑 @param string 文件的內容 可以使一個字符串也可以是一個數組 (不能使多維數組) @param FILE_USE_INCLUDE_PATH 在 include 目錄里搜索 filename FILE_APPEND 如果文件 filename 已經存在,追加數據而不是覆蓋 LOCK_EX在寫入時獲得一個獨占鎖。 */ file_put_contents('C:/1.txt',"寫入的內容",FILE_APPEND | LOCK_EX);/*使用a可以在文件的結尾處進行寫入不像使用w一樣覆蓋文件*/ /*使用r+可以在文件的開頭處進行寫入不像使用w一樣覆蓋文*/ //把 string 的內容寫入 文件指針 handle 處。 fwrite($handle,"常用文件操======作");//獲取文件類型 //===============================常用文件操作函數===============================//打開文件 返回一個文件句柄 $handle = opendir("E:/www/test");//讀取文件 返回該文件下文件名 $filename = readdir($handle);//剪切 重命名 原路徑/ 現在的路徑 rename ( "/tmp/tmp_file.txt" , "/home/user/login/docs/my_file.txt" ); echo "</pre>";//===============================常用圖像處理函數=============================== /*創建畫布,返回一個資源類型的變量$image,并在內存中開辟一塊臨時區域 *@param int x_size *@param int y_size *@return object $img */ $img = imagecreatetruecolor(200,200); echo imagesx($img); //輸出畫布寬度200 echo imagesy($img); //輸出畫布長度200/*設置顏色 第一次調用的時候會給圖像增加一個背景顏色 *@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);/*生成圖像,可以將動態繪制的畫布,直接輸出為GIF,JPEG,PNG,WBMP四種格式 *使用header發送標頭信息,用來通知瀏覽器使用正確的MIME類型進行解析 *@param resource $image 圖像句柄 */ bool imagegif(); bool imagejpeg(); bool imagepng(); bool imagewbmp(); header("Content-type:image/gif"); imagegif($img);/*---------------------------------------繪制圖像--------------------------*//*區域填充 *@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 則產生圓形邊界。 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常用函数总结(一):的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Transactional cannot
- 下一篇: 利用福禄克网线/光纤测试仪规范测试BIC