abstract:php文件中的文件指文件和目錄兩種。文件的相關(guān)函數(shù)有:1、文件屬性函數(shù)filetype():獲取文件類型 filesize():返回文件大小的字節(jié)數(shù)filectime();文件最新創(chuàng)建時(shí)間;filemtime():文件最后內(nèi)容修改時(shí)間;fileatime():最后訪問(wèn)文件時(shí)間is_readable():檢查文件是否可讀is_writeable():檢查文件是否可寫(xiě)is_excutable
php文件中的文件指文件和目錄兩種。文件的相關(guān)函數(shù)有:
1、文件屬性函數(shù)
filetype():獲取文件類型
filesize():返回文件大小的字節(jié)數(shù)
filectime();文件最新創(chuàng)建時(shí)間;
filemtime():文件最后內(nèi)容修改時(shí)間;
fileatime():最后訪問(wèn)文件時(shí)間
is_readable():檢查文件是否可讀
is_writeable():檢查文件是否可寫(xiě)
is_excutable():檢查文件是否可執(zhí)行
is_exists():檢查文件是否存在
<?php $filename="text.txt"; function getFilePro($filename) { //檢測(cè)文件是否存在 if(file_exists($filename)) { echo "這個(gè)文件存在<br>"; echo '該文件的類型是:'.filetype($filename).',文件的大小是:'.filesize($filename). ',文件最新創(chuàng)建時(shí)間:'.date('y/m/d h:i:s',filectime($filename)).',文件的最后 修改時(shí)間是:'.date('y/m/d h:i:s',filemtime($filename)).',文件的最后訪問(wèn)時(shí)間是:'. date('y/m/d h:i:s',fileatime($filename)).'<br>'; //檢測(cè)文件是否可讀 if(is_readable($filename)) { echo "文件可讀<br>"; } if(is_writable($filename)) { echo "文件可寫(xiě)<br>"; } if(is_executable($filename)) { echo "文件可執(zhí)行<br>"; } } } getFilePro($filename); ?>
2.解析文件路徑
pathinfo():獲取文件的路徑信息,包括三個(gè)部分:目錄名,基本名,擴(kuò)展名,返回的數(shù)據(jù)類型是數(shù)組;其中加上第二個(gè)參數(shù)PATHINFO_DIRNAME|PATHINFO_BASENAME|PATHINFO_EXTENSION|PATHINFO_FILENAME ,就能分別獲得文件的目錄部分|文件名|文件的后綴名|去掉后綴的文件名;
basename():返回文件的基本名;
dirname():獲取文件的目錄部分;
print_r(pathinfo($filename));//返回文件的路徑信息,返回的數(shù)據(jù)類型是數(shù)組型 //返回目錄部分 echo'返回文件中目錄部分:'.pathinfo($filename,PATHINFO_DIRNAME).'<br>'; echo dirname($filename).'<br>'; //獲取文件名 echo '返回文件中文件名部分:'.pathinfo($filename,PATHINFO_BASENAME).'<br>'; echo basename($filename).'<br>'; //獲取文件的后綴名 echo '返回文件中后綴名部分:'.pathinfo($filename,PATHINFO_EXTENSION).'<br>'; //獲取去掉后綴的文件名 echo '返回文件中去掉后綴的文件名部分:'.pathinfo($filename,PATHINFO_FILENAME).'<br>';
3.文件內(nèi)容函數(shù)
(1)文件整體操作
touch():創(chuàng)建一個(gè)文件
copy():復(fù)制一個(gè)文件,可以復(fù)制遠(yuǎn)程的文件,但是開(kāi)啟php.ini中allow_url_fopen = On
unlink():刪除一個(gè)文件
rename:重命名一個(gè)文件名或目錄,可以重名命名來(lái)進(jìn)行“剪切”操作
file_get_contents():讀取文件內(nèi)容
file_put_contents():寫(xiě)入文件內(nèi)容
4.文件內(nèi)容操作函數(shù),將數(shù)據(jù)寫(xiě)入文件的操作主要涉及三個(gè)步驟如下:
1、打開(kāi)文件(文件操作函數(shù):fopen)
fopen():打開(kāi)文件資源
'r' 從頭讀;'r+'從頭 讀寫(xiě);
如果文件不存在會(huì)創(chuàng)建的模式:'w' 清空后寫(xiě);'w+' 清空后讀寫(xiě);'a' 文件末尾添加;'a+' 從文件末尾讀寫(xiě);
如果文件存在則會(huì)出錯(cuò):'x' 創(chuàng)建并以寫(xiě)入方式打開(kāi);'x+' 創(chuàng)建并以讀寫(xiě)方式打開(kāi)
2、讀寫(xiě)文件
fread(地址,讀取的字節(jié)):讀取指定字節(jié)的內(nèi)容
fwrite():寫(xiě)入內(nèi)容,fputs()是它的別名
fgetc():從文件中逐字讀取
fgets():從文件中逐行讀取
fgetss():從文件中逐行讀取,并過(guò)濾html標(biāo)記
3、關(guān)閉文件
fclose():關(guān)閉文件資源
@$fp = fopen("text.txt","rb+");//讀寫(xiě)的方式打開(kāi)文件,@抑制產(chǎn)生的錯(cuò)誤 if(!$fp){ echo "system error"; exit(); }else { $fileData = "ipnx.cn\n"; //循環(huán)10次寫(xiě)入10行數(shù)據(jù)到文件中 for($row=0;$row<10;$row++){ fwrite($fp , $row.$fileData); } //從文件中讀取全部?jī)?nèi)容到一個(gè)變量中,每次讀取一部分,循環(huán)讀取 rewind($fp);//指針回到開(kāi)頭 $contents = ""; while(!feof($handle)){ //使用feof()判斷文件結(jié)尾 $contents.=fread($fp,11); //每次讀取11個(gè)字節(jié) } echo $contents; //將從文件中讀取的全部?jī)?nèi)容 //讀取全部?jī)?nèi)容的方法 rewind($fp);//指針回到開(kāi)頭 $contentss= fread($fp, filesize($filename)); //使用fielsize()函數(shù)一起讀出 echo $contentss; fclose($fp);//關(guān)閉文件 }
Correcting teacher:查無(wú)此人Correction time:2019-05-07 09:59:37
Teacher's summary:完成的不錯(cuò)。一次學(xué)習(xí)了很多php函數(shù)。你可以在網(wǎng)上找找別人寫(xiě)好的文件操作,然后自己在改改。繼續(xù)加油。