国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > PHP > 正文

PHP文件操作函數(shù)有哪些?php常用文件操作函數(shù)的總結(jié)(附代碼)

2020-03-22 17:52:26
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
php文件操作函數(shù)有很多種,今天在這里我將給大家分享一下PHP常用的文件操作函數(shù),話不多說(shuō),讓我們來(lái)看一看PHP文件操作究竟有哪些函數(shù)吧。

1 php獲得文件名:
basename — 返回路徑中的文件名部分

給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回基本的文件名。如果文件名是以 suffix 結(jié)束的,那這一部分也會(huì)被去掉。

string basename ( string $path [, string $suffix ] )

$path = /home/cate/index/index2.php $file = basename($path);echo $file. br //index2.php
$file2 = basename($path, .php echo $file2; //index2
$file3 = basename($path, 2.php echo $file2; //index

2 php獲得目錄名

dirname — 返回路徑中的目錄部分

string dirname ( string $path )

給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回去掉文件名后的目錄名。

echo dirname(__FILE__);

__FILE__指向當(dāng)前文件所在的路徑 等同于 getcwd();

3 php得到路徑關(guān)聯(lián)數(shù)組

pathinfo — 返回文件路徑的信息

pathinfo() 返回一個(gè)關(guān)聯(lián)數(shù)組包含有 path 的信息。包括以下的數(shù)組單元:dirname,basename 和 extension。

可以通過(guò)參數(shù) options 指定要返回哪些單元。它們包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION。默認(rèn)是返回全部的單元。如果不是要求取得所有單元,則本函數(shù)返回字符串。

 ?php$path_parts = pathinfo( /home/cate/index.action.html // /home/cate 文件目錄echo $path_parts[ dirname ] . br/ // index.action.html 文件名echo $path_parts[ basename ] . br/ // html 擴(kuò)展名echo $path_parts[ extension ] . br/ //直接獲取擴(kuò)展名 echo pathinfo( /home/cate/index.action.html , PATHINFO_EXTENSION);

4 fopen函數(shù)— 打開文件或者 URL

resource fopen ( string $filename , string $mode [, bool $use_include_path [, resource $zcontext ]] )

r

只讀方式打開,將文件指針指向文件頭。

r+

讀寫方式打開,將文件指針指向文件頭。

w

寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。

w+

讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建之。

a

寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。

a+

讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之。

x

創(chuàng)建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級(jí)別的錯(cuò)誤信息。如果文件不存在則嘗試創(chuàng)建之。這和給 底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標(biāo)記是等價(jià)的。此選項(xiàng)被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件。

x+

創(chuàng)建并以讀寫方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級(jí)別的錯(cuò)誤信息。如果文件不存在則嘗試創(chuàng)建之。這和給 底層的 open(2) 系統(tǒng)調(diào)用指定 O_EXCL|O_CREAT 標(biāo)記是等價(jià)的。此選項(xiàng)被 PHP 4.3.2 以及以后的版本所支持,僅能用于本地文件。

 ?php$handle = fopen( doc.txt , r  var_dump($handle);

D:/wamp/www/test/jsontest.php:3:resource(3, stream)

 ?php$file = fopen( newtxt.txt , w )or die( 無(wú)法打開文件 //不存在則自動(dòng)創(chuàng)建 $data = you are a coder!  fwrite($file,$data); $data = you are a MAN!  fwrite($file,$data); fclose($file);

5 fstat函數(shù)— 通過(guò)已打開的文件指針取得文件信息

array fstat ( resource $handle )

獲取由文件指針 handle 所打開文件的統(tǒng)計(jì)信息。本函數(shù)和 stat() 函數(shù)相似,除了它是作用于已打開的文件指針而不是文件名。

返回一個(gè)數(shù)組具有該文件的統(tǒng)計(jì)信息,該數(shù)組的格式詳細(xì)說(shuō)明于手冊(cè)中 stat() 頁(yè)面里。

 ?php// 打開文件$fp = fopen( doc.txt , r // 取得統(tǒng)計(jì)信息$fstat = fstat($fp);// 關(guān)閉文件fclose($fp);// 只顯示關(guān)聯(lián)數(shù)組部分//print_r(array_slice($fstat, 13)); print_r($fstat); //獲取一個(gè)文件信息數(shù)組包括索引和關(guān)聯(lián)數(shù)組

array_slice — 從數(shù)組中取出一段 返回?cái)?shù)組

array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )

array_slice() 返回根據(jù) offset 和 length 參數(shù)所指定的 array 數(shù)組中的一段序列。

如果 offset 非負(fù),則序列將從 array 中的此偏移量開始。如果 offset 為負(fù),則序列將從 array 中距離末端這么遠(yuǎn)的地方開始。

如果給出了 length 并且為正,則序列中將具有這么多的單元。如果給出了 length 并且為負(fù),則序列將終止在距離數(shù)組末端這么遠(yuǎn)的地方。如果省略,則序列將從 offset 開始一直到 array 的末端。

 ?php$input = array( a , b , c , d , e $output = array_slice($input, 2); // returns c , d , and e $output = array_slice($input, -2, 1); // returns d $output = array_slice($input, 0, 3); // returns a , b , and c // note the differences in the array keysprint_r(array_slice($input, 2, -1));print_r(array_slice($input, 2, -1, true));

Array

(

[0] = c

[1] = d

)

Array

(

[2] = c

[3] = d

)

6 filesize函數(shù)— 取得文件大小

int filesize ( string $filename )

返回文件大小的字節(jié)數(shù),如果出錯(cuò)返回 FALSE 并生成一條 E_WARNING 級(jí)的錯(cuò)誤。

 ?php$filename = doc.txt echo $filename. : .filesize($filename). bytes 

doc.txt:46bytes

7.disk_free_space函數(shù)— 返回目錄中的可用空間

float disk_free_space ( string $directory )

給出一個(gè)包含有一個(gè)目錄的字符串,本函數(shù)將根據(jù)相應(yīng)的文件系統(tǒng)或磁盤分區(qū)返回可用的字節(jié)數(shù)。

 ?phpecho disk_free_space( C: ). br/ echo disk_free_space( D: ). br/ echo disk_free_space( / 

71001600000
186459181056

disk_total_space — 返回一個(gè)目錄的磁盤總大小

8 fileatime函數(shù)— 取得文件的上次訪問(wèn)時(shí)間

filectime — 取得文件的 inode 修改時(shí)間

filemtime — 取得文件修改時(shí)間

9 file函數(shù)— 把整個(gè)文件讀入一個(gè)數(shù)組中

 ?php$myfile = doc.txt $lines = file($myfile);for($i=0,$len = count($lines);$i $len;$i++){ echo mb_convert_encoding($lines[$i], UTF-8 , GBK ). br/ }

我是一個(gè)新手程序員,需要慢慢努力才能有所收獲1!
我是一個(gè)新手程序員,需要慢慢努力才能有所收獲2!
我是一個(gè)新手程序員,需要慢慢努力才能有所收獲3!
我是一個(gè)新手程序員,需要慢慢努力才能有所收獲4!
我是一個(gè)新手程序員,需要慢慢努力才能有所收獲5!
我是一個(gè)新手程序員,需要慢慢努力才能有所收獲6!

mb_convert_encoding($lines[$i], UTF-8 , GBK )

將每一行原來(lái)的WINDOWS下GBK格式的數(shù)據(jù)$lines[$i]轉(zhuǎn)換為UTF-8格式

string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

 ?php$myfile = doc.txt $encoding = mb_detect_encoding($myfile, array( GBK , UTF-16 , UCS-2 , UTF-8 , BIG5 , ASCII echo $encoding;

CP936 即GBK

mb_detect_encoding — 偵測(cè)字符集 第一個(gè)為文件或者路徑 第二個(gè)為可能的字符集

10 fgets函數(shù)— 從文件指針中讀取一行

string fgets ( int $handle [, int $length ] )

從 handle 指向的文件中讀取一行并返回長(zhǎng)度最多為 length - 1 字節(jié)的字符串。碰到換行符(包括在返回值中)、EOF 或者已經(jīng)讀取了 length - 1 字節(jié)后停止(看先碰到那一種情況)。如果沒(méi)有指定 length,則默認(rèn)為 1K,或者說(shuō) 1024 字節(jié)。

出錯(cuò)時(shí)返回 FALSE。

 ?php$handle = fopen( doc.txt , r if ($handle){ while (!feof($handle)){ $data[] = fgets($handle,1024); print_r($data); fclose($handle);}
Array [0] = 我是一個(gè)新手程序員,需要慢慢努力才能有所收獲1! [1] = 我是一個(gè)新手程序員,需要慢慢努力才能有所收獲2! [2] = 我是一個(gè)新手程序員,需要慢慢努力才能有所收獲3! [3] = 我是一個(gè)新手程序員,需要慢慢努力才能有所收獲4! [4] = 我是一個(gè)新手程序員,需要慢慢努力才能有所收獲5! [5] = 我是一個(gè)新手程序員,需要慢慢努力才能有所收獲6!)

feof — 測(cè)試文件指針是否到了文件結(jié)束的位置

如果服務(wù)器沒(méi)有關(guān)閉由 fsockopen() 所打開的連接,feof() 會(huì)一直等待直到超時(shí)而返回 TRUE。默認(rèn)的超時(shí)限制是 60 秒,可以使用 stream_set_timeout() 來(lái)改變這個(gè)值。

fclose — 關(guān)閉一個(gè)已打開的文件指針

11 fgetss函數(shù)—— 從文件指針中讀取一行并過(guò)濾掉 HTML 標(biāo)記
和 fgets() 相同,只除了 fgetss 嘗試從讀取的文本中去掉任何 HTML 和 PHP 標(biāo)記。

可以用可選的第三個(gè)參數(shù)指定哪些標(biāo)記不被去掉

file_exists — 檢查文件或目錄是否存在

bool file_exists ( string $filename )

如果由 filename 指定的文件或目錄存在則返回 TRUE,否則返回 FALSE。

12 file_put_contents函數(shù)— 將一個(gè)字符串寫入文件

int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] )

和依次調(diào)用 fopen(),fwrite() 以及 fclose() 功能一樣。

filename 要寫入數(shù)據(jù)的文件名
data 要寫入的數(shù)據(jù)。類型可以是 string,array(但不能為多維數(shù)組),或者是 stream 資源
flags 可選,規(guī)定如何打開/寫入文件??赡艿闹担?br>FILE_USE_INCLUDE_PATH:檢查 filename 副本的內(nèi)置路徑
FILE_APPEND:在文件末尾以追加的方式寫入數(shù)據(jù)
LOCK_EX:對(duì)文件上鎖
context 可選,Context是一組選項(xiàng),可以通過(guò)它修改文本屬性

fopen() - 打開文件或者 URL

fwrite() - 寫入文件(可安全用于二進(jìn)制文件)

file_get_contents() - 將整個(gè)文件讀入一個(gè)字符串

 ?phpecho file_put_contents( doc.txt , 你是一個(gè)程序員7 ,FILE_APPEND);

返回字節(jié)數(shù)22

如果文件不存在,則創(chuàng)建文件,相當(dāng)于fopen()函數(shù)行為。

如果文件存在,默認(rèn)將清空文件內(nèi)的內(nèi)容,可設(shè)置 flags 參數(shù)值為 FILE_APPEND 以避免。

file_put_contents 函數(shù)可安全用于二進(jìn)制對(duì)象。

如果對(duì)于確定已經(jīng)存在的文件,最好進(jìn)行一個(gè)判斷

if (file_exists( test.txt )) { file_put_contents( test.txt , contents }

相關(guān)推薦:

php文件操作的方法及實(shí)例詳解

以上就是PHP文件操作函數(shù)有哪些?php常用文件操作函數(shù)的總結(jié)(附代碼)的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 公安县| 布尔津县| 临湘市| 松桃| 奈曼旗| 齐齐哈尔市| 凭祥市| 凤庆县| 城口县| 安康市| 疏附县| 永德县| 朝阳区| 大冶市| 如皋市| 郁南县| 湘乡市| 岚皋县| 民勤县| 屯门区| 新源县| 疏附县| 安岳县| 洛隆县| 古浪县| 广东省| 安义县| 竹山县| 和平区| 收藏| 银川市| 曲沃县| 石林| 方城县| 仪征市| 双柏县| 五峰| 屏山县| 宁强县| 鄂尔多斯市| 平安县|