檔案目錄函式庫:
一、 檔案常用操作
1. file_exists():檢查檔案或目錄是否存在
語法:bool file_exists($filename),如果檔案或目錄存在,返回true,否則返回false
2. is_readable():檢查檔案是否可讀
語法:bool is_readable($filename),如果檔案可讀,返回true,否則返回false
3. is_writable():檢查檔案是否可寫
語法:bool is_writable($filename),如果檔案可寫,返回true,否則返回false
4.is_executable():檢查檔案是否可執行
語法:bool is_executable($filename)
5.is_file():判斷是否是乙個檔案
語法:bool is_file($filename)
6.filesize():得到檔案的大小
語法:int filesize($filename),返回檔案的大小,單位為bytes,如果出錯返回false
7. filetype():得到檔案的型別
語法:string filetype($filename),返回檔案的型別
windows中返回為file/dir/unknown三種型別
8. filectime():得到檔案的建立時間
語法:int filectime($filename),返回檔案的建立時間,以時間戳形式返回
9. filemtime():得到檔案的修改時間
語法:int filemtime($filename),返回檔案上次被修改的時間,以時間戳形式返回
10. fileatime():得到檔案的上次訪問時間
語法:int fileatime($filename),返回檔案上次被訪問的時間,以時間戳的形式返回
11. fileowner():取得檔案的所有者
語法:int fileowner($filename),返回檔案的所有者,返回檔案所有的使用者id
12. filegroup():取得檔案的組
語法:int filegroup($filename),返回檔案所屬組的id
13. fileperms():取得檔案的許可權
語法:int fileperms($filename),返回檔案的訪問許可權
如何去記住這些函式,小竅門。
首先給你乙個檔案,你是不是先要看看這個檔案存不存在啊,通過函式file_exists($filename)來檢查下,如果存在你在看看這個檔案是否可讀、可寫、可執行啊,通過函式is_readable($filename)判斷可讀,通過函式is_writable($filename)判斷可寫,通過函式is_executable($filename)判斷是否可執行,再看看是不是乙個檔案通過is_file($filename)來檢視,接著我們再看看個檔案的大小通過filesize($filename),返回的位元組我們還可以通過我們自定義的函式轉換為相應的b、mb、gb等,接著看看檔案的型別,通過filetype($filename),看看檔案什麼時間建立的通過filectime($filename),看看檔案什麼上一次被修改的時間filemtime($filename),看看檔案最後一次被訪問的時間fileatime($filename),他們返回的都是時間戳啊,我們不認識可以通過date函式轉換一下我們就認識了,接著在看看這個檔案的所有者啊,所屬組啊,檔案的許可權啊,通過fileowner($filename)看所有者,通過filegroup($filename)看所屬分組,通過fileperms($filename)取得檔案的許可權,如果這些檔案函式出錯了,都返回false,接著你都檢視完了你是不是可以對這個檔案進行操作了。
建立檔案
語法:bool touch($filename),建立成功返回true,失敗返回false
刪除檔案
語法:bool unlink($filename),刪除檔案,成功返回true,失敗返回false
重新命名檔案
語法:bool rename($oldname,$newname),成功返回true,失敗返回false
他也可以移動檔案,相當於剪下的作用
拷貝檔案
語法:bool copy($source,$dest),成功返回true,失敗返回false
他相當於複製的作用
注意:如果目標檔案已經存在,那麼將會產生覆蓋的效果。
首先如果檔案不存在我們可以建立乙個檔案,通過touch($filename)來建立,建立之後我們可以刪除這個檔案,通過unlink($filename)來刪除。
建立檔案之後,我發現檔名不好聽,我想重新命名檔案通過rename($filename)
開啟檔案或者url
resource fopen($filename,$mode)
$mode的值可以為:
r:唯讀方式開啟,將檔案指標指向檔案頭
r+:讀寫方式開啟,將檔案指標指向檔案頭
w:寫入方式開啟,將檔案指標指向檔案頭並將檔案大小截為0.如果檔案不存在則嘗試建立他。
w+:讀寫方式開啟,將檔案指標指向檔案頭並將檔案大小截為0.如果檔案不存在則嘗試建立他。
a:寫入方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立他。
a+:讀寫方式開啟,將檔案指標指向檔案末尾。如果檔案不存在則嘗試建立他。
x:建立並以寫入方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 呼叫失敗並返回 false,並生成一條 e_warning 級別的錯誤資訊。
如果檔案不存在則嘗試建立之
x+:建立並以讀寫方式開啟,將檔案指標指向檔案頭。如果檔案已存在,則 fopen() 呼叫失敗並返回 false,並生成一條 e_warning 級別的錯誤資訊。
如果檔案不存在則嘗試建立之。
寫入檔案,fputs()是fwrite的別名
語法:int fwrite($handle,$string[$length]),把$string寫入檔案指標$handle處。如果指定了$length,當寫入了$length個位元組或者寫完了$string以後,就會停止。
返回寫入的字元數。
讀取檔案
語法:string fread($handle,$length),讀取乙個開啟的檔案,從檔案指標$handle讀取最多$length個位元組。
從檔案指標中讀取一行
語法:string fgets($hanlede[$length]),從$handle指向的檔案中讀取一行並返回長度最多為$length-1位元組的字串。碰到換行符、eof或者已經讀取了$length-1位元組後停止。
從檔案指標中讀取一行並過濾掉html標記
語法:string fgetss($handle[$length[,$allowable_tags]]),和fgets()相同,只除了 fgetss 嘗試從讀取的文字中去掉任何 html 和 php 標記。可以用可選的第三個引數指定哪些標記不被去掉。
從檔案中讀取字元
語法:string fgetc($handle),返回乙個包含有乙個字元的字串,該字元從$handle指向的檔案中得到。碰到eof則返回false。
測試檔案指標是否到了檔案結束的位置
語法:bool feof($handle),如果檔案指標到了eof或者出錯時則返回true,否則返回乙個錯誤,其它情況返回false。
將整個檔案讀入乙個陣列
語法:array file($filename),陣列中的每個單元都是檔案中相應的一行,包括換行符在內。失敗返回false
輸出乙個檔案
語法:int readfile($filename)
返回檔案指標讀寫的位置
語法:int ftell($handle),返回由$handle指定的檔案指標的位置。
在檔案指標中定位
語法:int fseek($handle,$offset),設定指標的位置。成功則返回 0;否則返回 -1。注意移動到 eof 之後的位置不算錯誤。
倒會檔案的指標
語法:bool rewind($handle),將$handle的檔案位置設為檔案流的開頭。
如果將檔案以附加("a" 或者 "a+")模式開啟,寫入檔案的任何資料總是會被附加在後面,不管檔案指標的位置。
關閉乙個已經開啟的檔案指標
語法:bool fclose($handle)
將整個檔案讀入乙個字串
語法:string file_get_content($filename)
將乙個字串寫入檔案
語法:int file_put_contents($filename,$data),$data可以為一維陣列,相當於file_put_contents($filename,join(「」,$array))
檔案建立好了,我們可以通過什麼方式來開啟這個檔案,通過fopen($filename,$mode)只是開啟檔案的方式不同,檔案指標的位置不同,開啟之後就可以做一些操作了,可以讀取乙個檔案通過fread($filename,$length),讀取多少個字元,也可以讀取一行通過fgets($filename,$length)也可以指定讀取一行中$length個字元,也可以通過fgetss($filename,$length,$allowable_tags)讀取檔案並過濾其中的html標記,也可以通過$allowable_tags去指定可以保留的標記,和strip_tags函式相似,接著你也可以乙個字元乙個字元的讀,通過fgetc($filename),只要不到檔案的末尾或者不碰到eof就能讀出來,怎麼知道到沒到檔案的末尾或者eof啊,可以通過feof($handle)來檢測一下,如果到了eof或者檔案出錯返回true,不到返回false。也可以通過ftell($handle)告訴你檔案指標所在位置,也可以通過fseek($handle,$offset)指定指標位置,也可能夠rewind($handle)重置指標位置。通過readfile($filename)將檔案內容全部讀出來,並輸出;也可以通過file($filename)函式將檔案中的行讀到乙個陣列中,返回這個陣列。
也可以將檔案中的內容通過file_get_contents($filename)讀到字串中返回。我們不只可以讀,還可以寫啊,通過fwrite($handle,$string[$length])將$string寫入檔案,也可以寫入$length個字元,或者通過fputs()函式一樣,他是fwrite函式的別名,也可以通過file_put_contents($filename,$data)將$data資料寫入檔案。最後寫完了之後都要關閉一下把,通過fclose($handle)將檔案指標關閉掉。
實用php函式及方法總結
php常用函式以及方法總結 資料型別 string number boolean 符合資料型 array obj resource name 值 t echo name 這種方式注意t前後不能有空格。1 define 常量名 常量值 常量的申明,不用 echo 常量名 常量值。2 heredoc結構...
PHP的正則處理函式總結
最後是preg split php 3 3.0.9,php 4,php 5 preg split 用正規表示式分割字串 不再贅述。說明array preg split string pattern,string subject int limit int flags 返回乙個陣列,包含 subjec...
php時間函式大全
一,php時間戳函式獲取指定日期的unix時間戳 strtotime 2009 1 22 示例如下 echo strtotime 2009 1 22 結果 1232553600 說明 返回2009年1月22日0點0分0秒時間戳二,php時間戳函式獲取英文文字日期時間示例如下 便於比較,使用date將...