溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php文件系統(tǒng)的處理方法

發(fā)布時(shí)間:2021-08-25 15:55:48 來(lái)源:億速云 閱讀:126 作者:chen 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“php文件系統(tǒng)的處理方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“php文件系統(tǒng)的處理方法”吧!

文件類(lèi)型

以Linux為模型的, 在Windows只能獲取file, dir或unknow 三種類(lèi)型
在Linux/Unix下, block, char, dir, fifo, file, link, unknown7種型

block :塊設(shè)置文件,磁盤(pán)分區(qū),軟驅(qū), cd-rom等
char: 字符設(shè)備,I/O (輸入輸出中)以字符為單位的設(shè)備, 例如鍵盤(pán),打印機(jī)等
dir:  目錄也是文件的一種/目錄文件
fifo: 信息管道,從一個(gè)程序傳輸?shù)搅硪粋€(gè)進(jìn)程
file: 普通的文件類(lèi)型如文本文件,可執(zhí)行文件
link: 鏈接文件,相當(dāng)于windows下的快捷方式
unknown  :未知類(lèi)型

1.文件屬性處理函數(shù)

filetype("目錄或文件名") 獲取類(lèi)型
is_dir -- 判斷給定文件名是否是一個(gè)目錄
is_file -- 判斷給定文件名是否為一個(gè)正常的文件
is_link -- 判斷給定文件名是否為一個(gè)符號(hào)連接
is_executable(); -- 判斷給定文件名是否可執(zhí)行
file_exists();--文件是否存在
filesize();--返回文件大小
is_readable();--文件是否可讀
is_writeable();--文件是否可寫(xiě)
filectime();--文件創(chuàng)建時(shí)間
filemtime();--文件修改時(shí)間
fileactime();--文件最后訪問(wèn)時(shí)間
stat();--文件狀態(tài),返回關(guān)于給定文件的信息的數(shù)組

bool ftruncate ( resource handle, int size );

接受文件指針 handle 作為參數(shù),并將文件大小截取為 size。如果成功則返回 TRUE,失敗則返回 FALSE。

bool rename ( string oldname, string newname [, resource context] );

2.目錄

目錄屬性

* basename(url[,擴(kuò)展名]);   //返回文件名
* dirname(url);   //目錄名
* pathinfo(url);  //路徑信息

例子:

$path="/var/www/html/page.php";
echo basename($path);// 返回page.php
echo basename($path,".php"); //page
echo dirname($paht);// /var/www/html
$arr=pathinfo($paht);
$arr["dirname"] // /var/www/html
$arr["basename"]// page.php
$arr["extension"]// .php

遍歷目錄

opendir(url);
readdir(url);//返回當(dāng)前目錄指針只為的一個(gè)文件名,并將目錄指針向后移動(dòng)一位
closedir(url);
rewinddir(url);//把目錄指針重置到開(kāi)始處

統(tǒng)計(jì)目錄大小

統(tǒng)計(jì)目錄的大小只能建立遞歸函數(shù)把目錄的文件都加起來(lái);

統(tǒng)計(jì)磁盤(pán)大小可以使用 disk_free_space(url);和 disk_total_space(url);

建立和刪除目錄

mkdir(url);//建立目錄
rmdir(url);//刪除空目錄
unlink(url);//刪除文件

刪除非空目錄只能自己建立遞歸函數(shù);

復(fù)制目錄

copy($scrfile,$to);//復(fù)制文件

得自定義遞歸函數(shù)實(shí)現(xiàn)目錄復(fù)制功能

3.文件的基本操作

fopen(url);
fclose(url);

寫(xiě)入文件

int fwrite(resoure handle,strint string[,int length]);

返回寫(xiě)入的字符數(shù)或是FALSE

fputs()是fwrite()的別名

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

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

讀取文件

string fread ( resource handle, int length );

從文件指針 handle 讀取最多 length 個(gè)字節(jié)。 該函數(shù)在讀取完 length 個(gè)字節(jié)數(shù),或到達(dá) EOF 的時(shí)候

string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] );
array file ( string filename [, int use_include_path [, resource context]] );

數(shù)組中的每個(gè)單元都是文件中相應(yīng)的一行,包括換行符在內(nèi)。

string fgets ( resource handle [, int length] );

string fgetc ( resource handle );

int readfile ( string filename [, bool use_include_path [, resource context]] );

讀入一個(gè)文件并寫(xiě)入到輸出緩沖。

如果訪問(wèn)遠(yuǎn)程文件,必須在php的配置文件中激活"allow_url_fopen"選項(xiàng),才能使用fopen()函數(shù)打開(kāi)遠(yuǎn)程文件

使用FTP協(xié)議連接遠(yuǎn)程文件的時(shí),只可以用“只讀”或“只寫(xiě)”模式打開(kāi)文件。

移動(dòng)文件指針

int ftell ( resource handle );

返回由 handle 指定的文件指針的位置,也就是文件流中的偏移量。

int fseek ( resource handle, int offset [, int whence] );

在與 handle 關(guān)聯(lián)的文件中設(shè)定文件指針位置。新位置,從文件頭開(kāi)始以字節(jié)數(shù)度量,是以 whence 指定的位置加上 offset。whence de 值定義為:

SEEK_SET - 設(shè)定位置等于 offset 字節(jié)。
SEEK_CUR - 設(shè)定位置為當(dāng)前位置加上 offset。
SEEK_END - 設(shè)定位置為文件尾加上 offset。(要移動(dòng)到文件尾之前的位置,需要給 offset 傳遞一個(gè)負(fù)值。)

bool rewind ( resource handle );

將 handle 的文件位置指針設(shè)為文件流的開(kāi)頭

到此,相信大家對(duì)“php文件系統(tǒng)的處理方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI