php常用檔案函式總結

2021-12-22 10:04:01 字數 5146 閱讀 7693

檔案目錄函式庫:

一、 檔案常用操作

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將...