




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 php文件系統(tǒng)主講老師: 友誼老師 感恩之心赤誠(chéng)之心孝悌之心進(jìn)取之心敬畏之心利他之心內(nèi)容摘要1、文件的屬性2、解析目錄路徑3、統(tǒng)計(jì)目錄的中的個(gè)數(shù)和大小4、建立和刪除目錄5、復(fù)制、移動(dòng)目錄6、文件的一些基本函數(shù)7、文件的打開和關(guān)閉8、文件的內(nèi)容操作9、文件的鎖定機(jī)制10、文件上傳在程序運(yùn)行時(shí),程序本身和數(shù)據(jù)一般都存在內(nèi)存中,當(dāng)程序運(yùn)行結(jié)束后,存放在內(nèi)存中的數(shù)據(jù)被釋放。如果需要長(zhǎng)期保存程序運(yùn)行所需的原始數(shù)據(jù),或程序運(yùn)行產(chǎn)生的結(jié)果,就必須以文件形式存儲(chǔ)到外部存儲(chǔ)介質(zhì)上。文件一般指存儲(chǔ)在外部介質(zhì)上具有名字(文件名)的一組相關(guān)數(shù)據(jù)集合。用文件可長(zhǎng)期保存數(shù)據(jù),并實(shí)現(xiàn)數(shù)據(jù)共享。PHP是以UNIX的文件系統(tǒng)
2、為模型的。因此在Windows系統(tǒng)中我們只能獲得”file”、”dir”或者“unknown”三種文件類型。而在UNIX系統(tǒng)中,我們可以獲得block、char、dir、fifo、file、link和unknown七種類型??梢允褂煤瘮?shù)filetype()獲取文件的具體類型。語(yǔ)法:string filetype ( string filename ) 文件概述文件類型描述block塊設(shè)備文件,如某個(gè)磁盤分區(qū),軟驅(qū),光驅(qū)CD-ROM等char字符設(shè)備是指在I/O傳輸過程中以字符為單位進(jìn)行傳輸?shù)脑O(shè)備,如鍵盤、打印機(jī)等dir目錄類型,目錄也是文件的一種fifo命名管道,常用于將信息從一個(gè)進(jìn)程傳遞到另
3、一個(gè)進(jìn)程file普通文件類型,如文本文件或可執(zhí)行文件等。link符號(hào)鏈接,是指向文件指針的指針。類似Windows中的快捷方式unknown未知類型。is_dir( ) - 判斷給定文件名是否是一個(gè)目錄語(yǔ)法結(jié)構(gòu):bool is_dir(名稱)返回類型:文件名存在并且是一個(gè)目錄則返回 true,否則返回 false。is_executable( ) - 判斷給定文件名是否可執(zhí)行語(yǔ)法結(jié)構(gòu):bool is_executable(名稱)返回類型:如果文件存在且可執(zhí)行則返回 true ,否則返回 false 。is_file( ) - 判斷給定文件名是否為一個(gè)正常的文件語(yǔ)法結(jié)構(gòu):bool is_file
4、(名稱)返回類型:如果文件存在且為正常的文件則返回 true 。is_link( ) - 判斷給定文件名是否為一個(gè)符號(hào)連接語(yǔ)法結(jié)構(gòu):bool is_link(名稱) 返回類型:如果文件存在并且是一個(gè)符號(hào)連接則返回 true。is_readable( ) - 判斷給定文件名是否可讀語(yǔ)法結(jié)構(gòu):bool is_readable(文件名稱)返回類型:如果文件存在并且可讀則返回 true 。is_writable( ) - 判斷給定的文件名是否可寫語(yǔ)法結(jié)構(gòu):bool is_writable(文件名稱)返回類型:如果文件存在并且可寫則返回 true 。文件屬性函數(shù)名作用參數(shù)返回值file_exists(
5、)檢查文件或目錄是否存在文件名存在:true,不存在:falsefilesize()取得文件大小文件名返回大小字節(jié)數(shù),出錯(cuò):falseis_readable()判斷文件是否可讀文件名文件可讀返回trueis_writable()判斷文件是否可寫文件名文件可寫返回trueis_executable()判斷文件是否可執(zhí)行文件名文件可執(zhí)行返回truefilectime()獲取文件的創(chuàng)建時(shí)間文件名返回UNIX時(shí)間戳格式filemtime()獲取文件的修改時(shí)間文件名返回UNIX時(shí)間戳格式fileatime()獲取文件的訪問時(shí)間文件名返回UNIX時(shí)間戳格式stat()獲取文件大部分屬性文件名返回給定屬性信
6、息的數(shù)組使用PHP腳本可以方便對(duì)目錄進(jìn)行操作,如創(chuàng)建目錄、遍歷目錄、復(fù)值目錄與刪除目錄等操作。常用的文件目錄路徑格式:$unixPath=/var/www/html/index.php;/在UNIX系統(tǒng)中的絕對(duì)路徑,必須使用/分隔$winPath=C:Appservwwwindex.php; /在Windows系統(tǒng)的絕對(duì)路徑,默認(rèn)使用分隔$winPath2=C:/Appserv/www/index.php; /在Windows系統(tǒng)中也可使用“/”分隔。注意使用絕對(duì)路徑與相對(duì)路徑。basename-返回路徑中的文件名部分 語(yǔ)法:string basename ( string path , st
7、ring suffix )給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回基本的文件名。如果文件名是以 suffix 結(jié)束的,那這一部分也會(huì)被去掉。dirname-返回路徑中的目錄部分語(yǔ)法:string dirname ( string path )給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回去掉文件名后的目錄名。 ?php $path = /home/httpd/html/index.php; $file = basename($path);/ $file值:index.php $file = basename($path, .php ); / $file值:index $f
8、ile = dirname($path); / $file值:/home/httpd/html文件目錄解析pathinfo-返回文件路徑的信息 語(yǔ)法:array pathinfo ( string path , int options )pathinfo() 返回一個(gè)聯(lián)合數(shù)組包含有 path 的信息。包括以下的數(shù)組單元:dirname,basename 和 extension。realpath-返回規(guī)范化的絕對(duì)路徑名 語(yǔ)法:string realpath ( string path )realpath() 擴(kuò)展所有的符號(hào)連接并且處理輸入的 path 中的 /./, /./ 以及多余的 / 并返
9、回規(guī)范化后的絕對(duì)路徑名。返回的路徑中沒有符號(hào)連接,/./ 或 /./ 成分。opendir-打開目錄句柄 語(yǔ)法:resource opendir ( string path , resource context )打開一個(gè)目錄句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 調(diào)用中。readdir-從目錄句柄中讀取條目 語(yǔ)法:string readdir ( resource dir_handle )返回當(dāng)前目錄指針位置的文件名,沒有返回false,并將指針向下移動(dòng)一位。文件名以在文件系統(tǒng)中的排序返回。 closedir-關(guān)閉目錄句柄 語(yǔ)法:void c
10、losedir ( resource dir_handle )關(guān)閉由 dir_handle 指定的目錄流。流必須之前被 opendir() 所打開。rewinddir-倒回目錄句柄 語(yǔ)法:void rewinddir ( resource dir_handle )將 dir_handle 指定的目錄流重置到目錄的開頭。遍歷目錄?php /遍歷指定目錄實(shí)例 $num=0; /用來(lái)統(tǒng)計(jì)子目錄和文件的個(gè)數(shù) $dirname=phpMyAdmin; /定義一個(gè)目錄名 $dir_handle=opendir($dirname); /用opendir打開目錄 /將遍歷的目錄和文件名使用表格格式輸出 whi
11、le($file=readdir($dir_handle) /使用readdir循環(huán)讀取目錄里的內(nèi)容 $dirFile=$dirname./.$file; /追加目錄名 echo 文件名: .$file. | ; /顯示文件名 echo 大小: .filesize($dirFile). | ; /顯示文件大小 echo 類型: .filetype($dirFile). | ; /顯示文件類型 echo 創(chuàng)建時(shí)間: .date(Y/n/t,filectime($dirFile).; num+; closedir($dir_handle); /關(guān)閉文件操作句柄 echo 在.$dirname.目錄
12、下共有文件.$num.個(gè);遍歷目錄 disk_free_space-返回目錄中的可用空間 語(yǔ)法:float disk_free_space ( string directory )給出一個(gè)包含有一個(gè)目錄的字符串,本函數(shù)將根據(jù)相應(yīng)的文件系統(tǒng)或磁盤分區(qū)返回可用的字節(jié)數(shù)。 disk_total_space-返回一個(gè)目錄的磁盤總大小 語(yǔ)法:float disk_total_space ( string directory )給出一個(gè)包含有一個(gè)目錄的字符串,本函數(shù)將根據(jù)相應(yīng)的文件系統(tǒng)或磁盤分區(qū)返回所有的字節(jié)數(shù)。統(tǒng)計(jì)目錄大小mkdir-新建目錄 語(yǔ)法:bool mkdir (string pathname
13、 ,int mode)嘗試新建一個(gè)由 pathname 指定的目錄。rmdir-刪除目錄 語(yǔ)法:bool rmdir ( string dirname )嘗試刪除 dirname 所指定的目錄。 該目錄必須是空的,而且要有相應(yīng)的權(quán)限。如果成功則返回 TRUE,失敗則返回 FALSE。unlink-刪除文件語(yǔ)法:bool unlink ( string filename )刪除 filename。和 Unix C 的 unlink() 函數(shù)相似。如果成功則返回 TRUE,失敗則返回 FALSE。創(chuàng)建和刪除目錄copy-拷貝文件 語(yǔ)法:bool copy ( string source, stri
14、ng dest )將文件從 source 拷貝到 dest。如果成功則返回 TRUE,失敗則返回 FALSE。 PHP中沒有提供復(fù)制與移動(dòng)目錄的相關(guān)函數(shù)。如需要,只要自定義函數(shù)了。如何定義一個(gè)目錄復(fù)制函數(shù)呢?copy-拷貝文件 語(yǔ)法:bool copy ( string source, string dest )將文件從 source 拷貝到 dest。如果成功則返回 TRUE,失敗則返回 FALSE。 unlink-刪除文件 語(yǔ)法:bool unlink ( string filename )刪除 filename。和 Unix C 的 unlink() 函數(shù)相似。如果成功則返回 TRUE,
15、失敗則返回 FALSE。 ftruncate-將文件截?cái)嗟浇o定的長(zhǎng)度 語(yǔ)法:bool ftruncate ( resource handle, int size )接受文件指針 handle 作為參數(shù),并將文件大小截取為 size。如果成功則返回 TRUE,失敗則返回 FALSE。 rename-重命名一個(gè)文件或目錄 語(yǔ)法:bool rename ( string oldname, string newname , resource context )嘗試把 oldname 重命名為 newname。 如果成功則返回 TRUE,失敗則返回 FALSE??截惡椭孛募﨔ile_get_cont
16、ents();將整個(gè)文件讀入一個(gè)字符串語(yǔ)法:string file_get_contents ( string $filename , bool $use_include_path = false , resource $context , int $offset = -1 , int $maxlen )File_put_contents();將一個(gè)字符串寫入文件語(yǔ)法:int file_put_contents ( string $filename , mixed $data , int $flags = 0 , resource $context )File() 把整個(gè)文件讀入一個(gè)數(shù)組中語(yǔ)法
17、:array file ( string $filename , int $flags = 0 , resource $context )文件的內(nèi)容操作fopen-打開文件或者 URL 語(yǔ)法:resource fopen ( string filename, string mode , bool use_include_path , resource zcontext )filename參數(shù)需要提供要被打開文件的URL。這個(gè)URL可以是腳本所在的服務(wù)器中的絕對(duì)路徑,也可以是相對(duì)路徑,還可以是網(wǎng)絡(luò)資源用的文件。 mode 參數(shù)指定了所要求到該流的訪問類型,(強(qiáng)烈建議附加b模式)。 如果也需要在
18、include_path中搜尋文件的話,可以將可選的第三個(gè)參數(shù) use_include_path 設(shè)為 1 或 TRUE。 如果打開失敗,本函數(shù)返回 FALSE。fclose-關(guān)閉一個(gè)已打開的文件指針 語(yǔ)法:bool fclose ( resource $handle )將 handle 指向的文件關(guān)閉。 成功時(shí)返回 TRUE, 或者在失敗時(shí)返回 FALSE. ?php /使用絕對(duì)路徑打開file.txt文件,選擇只讀模式,并返回資源$handle $handle = fopen(/home/rasmus/file.txt, r); /訪問文檔根目錄下的文件,也以只讀模式打開 $handle
19、= fopen(“$_SERVERDOCUMENT_ROOT/data/info.txt, r); /在 Windows 平臺(tái)上,轉(zhuǎn)義文件路徑中的每個(gè)反斜線,或者用斜線, 以二進(jìn)制和只寫模式組合 $handle = fopen(c:datafile.gif, wb); /使用相對(duì)路徑打開file.txt文件,選擇只讀模式,并返回資源$handle $handle = fopen(./data/info.txt, r); /打開遠(yuǎn)程文件, 使用HTTP協(xié)議只能以只讀的模式打開 $handle = fopen( , r); /使用FTP協(xié)議打開遠(yuǎn)程文件,如果FTP服務(wù)器可寫,則可以以寫的模式打開
20、$handle = fopen( /somefile.txt, w);fwrite-寫入文件(可安全用于二進(jìn)制文件)語(yǔ)法:int fwrite ( resource handle, string string , int length )fwrite() 把 string 的內(nèi)容寫入 文件指針 handle 處。 如果指定了 length,當(dāng)寫入了 length 個(gè)字節(jié)或者寫完了 string 以后,寫入就會(huì)停止,視乎先碰到哪種情況。返回寫入的字符數(shù),出現(xiàn)錯(cuò)誤時(shí)則返回 FALSE 。flock-輕便的咨詢文件鎖定 語(yǔ)法: bool flock ( int handle, int operation , int &wouldbl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 論旅游保險(xiǎn)的現(xiàn)狀與創(chuàng)新
- 公司職能發(fā)揮管理制度
- 公司責(zé)權(quán)體系管理制度
- 2025國(guó)內(nèi)貨物買賣合同示范文本
- 福建省部分高中2024-2025學(xué)年高二下冊(cè)3月聯(lián)考數(shù)學(xué)試卷附解析
- 北京市2024~2025學(xué)年 高一下冊(cè)第五學(xué)段數(shù)學(xué)試卷附解析
- 安徽省蚌埠市2023?2024學(xué)年高二下冊(cè)7月期末學(xué)業(yè)水平監(jiān)測(cè)數(shù)學(xué)試卷附解析
- 2024年深圳市大鵬新區(qū)區(qū)屬公辦中小學(xué)招聘教師真題
- 員工素質(zhì)報(bào)告評(píng)語(yǔ)
- 射頻傳感器技術(shù)基礎(chǔ)知識(shí)點(diǎn)歸納
- 山西財(cái)經(jīng)大學(xué)華商學(xué)院《Java程序設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年AI在中醫(yī)診斷中的創(chuàng)新應(yīng)用探討
- 油氣管道輸送試題及答案
- 直飲機(jī)管理制度
- 醫(yī)院DRG培訓(xùn)課件
- 農(nóng)業(yè)經(jīng)濟(jì)的基礎(chǔ)試題及答案
- 2024年中國(guó)計(jì)量發(fā)展白皮書
- 廣東食品安全管理人員抽查考核題庫(kù)附答案
- 糧食公司筆試題庫(kù)及答案
- 《DTP藥房管理中靜脈注射類創(chuàng)新藥物患者用藥風(fēng)險(xiǎn)識(shí)別分析5400字》
- 肥胖中醫(yī)養(yǎng)生知識(shí)講座
評(píng)論
0/150
提交評(píng)論