婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP文件打開關閉及讀寫操作示例解析

PHP文件打開關閉及讀寫操作示例解析

熱門標簽:電子地圖標注怎么修改 菏澤語音外呼系統運營商 公司外呼系統中心 梧州市機器人外呼系統怎么樣 廈門400電話辦理選易號網 天客通地圖標注 臨沂crm外呼系統平臺 如何在世界地圖標注 地圖標注符號樣式有

前言

PHP支持文件上傳功能,因此學習PHP文件的相關操作是必須的,這篇筆記會去記錄PHP文件系統的相關知識。

文件打開與關閉

文件處理包括讀取、關閉、重寫等,例如,訪問一個文件需要3步:打開文件、讀寫文件和關閉文件。其他的操作要么是包含在讀寫文件中(如顯示內容、寫入內容等),要么與文件自身的屬性有關系(如文件遍歷、文件改名等)。

1、打開文件

在PHP中使用fopen()函數打開文件,fopen()函數的語法如下:

resource fopen ( string filename, string mode [, bool use_include_path]);
  • filename是要打開的包含路徑的文件名,可以是相對路徑,也可以是絕對路徑。如果沒有任何前綴則表示打開的是本地文件。
  • mode是打開文件的方式,可取的值如下表所示。
  • use_include_path是可選的,該參數在配置文件php.ini中指定一個路徑,如F:\AppServ\ www\mess.php,如果希望服務器在這個路徑下打開所指定的文件,可以設置為1或 true。

mode 模式名稱 說明
r 只讀 讀模式—進行讀取,文件指針位于文件的開頭
r+ 讀寫 讀寫模式—進行讀寫,文件指針位于文件的開頭。在現有文件內容的末尾之前進行寫入就會覆蓋原有的內容
w 只寫 寫模式—進行寫入文件,文件指針指向頭文件。如果該文件存在,則所有文件內容被刪除,否則函數將創建這個文件
w+ 讀寫 讀寫模式—進行讀寫,文件指針指向頭文件。如果該文件存在,則所有文件的內容被刪除;否則函數將創建這個文件
x 謹慎寫 寫模式打開文件,從文件頭開始寫。如果文件已經存在,則該文件將不會被打開,函數返回false,PHP將產生一個警告
x+ 謹慎寫 讀/寫模式打開文件,從文件頭開始寫。如果該文件存在,則該文件將不會被打開,函數返回false,PHP將產生一個警告
a 追加 追加模式打開文件,文件指針指向尾文件。如果該文件已有內容,則將從內容末尾開始追加;如果文件不存在,則函數創建這個文件
a+ 追加 追加模式打開文件,文件指針指向頭文件。如果該文件已有內容,則從文件末尾開始追加或者讀?。蝗绻募淮嬖?,則函數將創建這個文件
b 二進制 二進制模式—用于與其他模式進行連接。如果文件系統能夠區分二進制文件和文本文件,可能會使用它。Windows可以區分;UNIX則不區分。推薦使用這個選項,便于獲得最大程度的可移植性。它是默認模式
t 文本 用于其他模式的結合。這個模式只是Windows下的一個選擇

2、關閉文件

對文件的操作結束后應該關閉這個文件,否則可能引起錯誤。在PHP中使用fclose()函數關閉文件,該函數的語法如下:

bool fclose ( resource handle ) ;

該函數將參數handle指向的文件關閉,如果成功,返回true,否則返回false。其中的文件指針必須是有效的,并且是通過fopen()函數成功打開的文件。例如:

?php
  $f_open =fopen("../file.txt.","rb");   //打開文件
  …  //對文件進行操作
  fclose($f_open)   //操作完成后關閉文件        
?>

讀寫文件

1.從文件中讀取數據

從文件中讀取數據,可以讀取一個字符、一行字串或整個文件,還可以讀取任意長度的字串。

讀取整個文件:readfile()、file()和file_get_contents()。

(1)readfile()函數

readfile()函數用于讀入一個文件并將其寫入到輸出緩沖,如果出現錯誤則返回false。函數語法 如下:

int readfile(string filename)

使用readfile()函數,不需要打開/關閉文件,不需要echo/print等輸出語句,直接寫出文件路徑即可。

(2)file()函數

file()函數也可以讀取整個文件的內容,只是file()函數將文件內容按行存放到數組中,包括換行符在內。如果失敗則返回false。函數語法如下:

array file(string filename)

(3)file_get_contents()函數

該函數將文件內容(filename)讀入一個字符串。如果有offset和maxlen參數,將在參數offset所指定的位置開始讀取長度為maxlen的內容。如果失敗,返回false。函數語法如下:

string file_get_contents(string filename[,int offset[,int maxlen]])

該函數適用于二進制對象,是將整個文件的內容讀入到一個字符串中的首選方式。

示例:
使用readfile()函數、file()函數和file_get_contents()函數分別讀取tm.txt的內容。

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>讀取整個文件/title>
style type="text/css">
!--
body,td,th {
  font-size: 12px;
}
body {
  margin-left: 10px;
  margin-top: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}
-->
/style>/head>
body>
table border="1" cellspacing="0" cellpadding="0">
 tr>
  td width="280" height="25" align="right" valign="middle" scope="col">使用readfile()函數讀取文件內容:/td>
  td height="25" align="center" valign="middle" scope="col">
  ?php readfile('tm.txt'); ?>  /td>
 /tr>
 tr>
  td height="25" align="right" valign="middle">使用file()函數讀取文件內容:/td>
  td height="25" align="center" valign="middle">
  ?php
    $f_arr = file('tm.txt');
    foreach($f_arr as $cont){
      echo $cont."br>";
    }
  ?>/td>
 /tr>
 tr>
  td width="280" height="25" align="right" valign="middle" scope="col">使用file_get_contents()函數讀取文件內容:/td>
  td height="25" align="center" valign="middle" scope="col">
  ?php

    $f_chr = file_get_contents('tm.txt');
    echo $f_chr;

  ?>/td>
 /tr>
/table>
/body>
/html>

效果:

讀取一行數據:fgets()和fgetss()

(1)fgets()函數

fgets()函數用于一次讀取一行數據。函數語法如下:

string fgets( int handle [, int length] )
  • handle是被打開的文件
  • length是要讀取的數據長度。

函數能夠實現從handle指定文件中讀取一行并返回長度最大值為
length-1個字節的字符串。在遇到換行符、EOF或者讀取了length-1個字節后停止。如果忽略length參數,那么讀取數據直到行結束。

(2)fgetss()函數

fgetss()函數是fgets()函數的變體,用于讀取一行數據,同時,
fgetss()函數會過濾掉被讀取內容中的html和php標記。函數語法如下:

string fgetss ( resource handle [, int length [, string 
allowable_tags]] )

該函數能夠從讀取的文件中過濾掉任何html和php標記??梢允褂?
allowable_tags參數來控制哪些標記不被過濾掉。

示例:使用fgets()函數與fgetss()函數分別讀取fun.php文件并顯示出來。

fun.php:

table width="200" border="0" cellspacing="0" cellpadding="0">
 tr>
  td height="20" align="center" valign="middle" scope="col">font color='red'>I am red./font>/td>
  td height="20" align="center" valign="middle" scope="col">font color='green'>I am green./font>/td>
 /tr>
 tr>
  td height="20" align="center" valign="middle">font color='black'>I am black./font>/td>
  td height="20" align="center" valign="middle">font color='pink'>I am pink. /font>/td>
 /tr>
/table>

index.php:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>fgets和fgetss的區別/title>
style type="text/css">
!--
body,td,th {
  font-size: 12px;
}
body {
  margin-left: 10px;
  margin-top: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}
-->
/style>/head>
body>
div align="left">/div>
table border="1" cellspacing="0" cellpadding="0">
 tr>
  td height="30" align="right" valign="middle" scope="col">使用fgets函數:/td>
  td height="30" align="center" valign="middle" scope="col">
?php
  header("Content-Type:text/html;charset=utf-8");
  $fopen = fopen('fun.php','rb');
  while(!feof($fopen)){
    echo fgets($fopen);
  }
  fclose($fopen);
?> /td>
 /tr>
 tr>
  td height="30" align="right" valign="middle">使用fgetss函數:/td>
  td height="30" align="center" valign="middle">
  ?php
  $fopen = fopen('fun.php','rb');
  while(!feof($fopen)){
    echo fgetss($fopen);
  }
  fclose($fopen);
?> /td>
 /tr>
/table>
/body>
/html>

效果:

讀取一個字符:fgetc()

在對某一個字符進行查找、替換時,需要有針對性地對某個字符進行讀取,在PHP中可以使用fgetc()函數實現此功能。函數語法如下:

string fgetc ( resource handle )

該函數返回一個字符,該字符從handle指向的文件中得到。遇到EOF則返回false。

讀取任意長度的字串:fread()

fread()可以從文件中讀取指定長度的數據,函數語法如下:

string fread ( int handle, int length )

參數handle為指向的文件資源,length是要讀取的字節數。當 函數讀取length個字節或到達EOF時停止執行。

2.將數據寫入文件

寫入數據也是PHP中常用的文件操作,在PHP中使用fwrite()和file_put_contents()函數向文件中寫入數據。

fwrite()函數也稱為fputs(),它們的用法相同。fwrite()函數的語法如下:

int fwrite ( resource handle, string string [, int length] )

該函數把內容string寫入文件指針handle處。如果指定了長度length,則寫入length個字節后停止。如果文件內容長度小于length,則會輸出全部文件內容。

file_put_contents()函數是PHP 5新增的函數,其語法為:

int file_put_contents ( string filename, string data [, int 
flags])

filename為寫入數據的文件。data為要寫入的數據。flags可以是FILE_USE_INCLUDE_PATH、FILE_APPEND或LOCK_EX,LOCK_EX為獨占鎖定。

使用file_put_contents()函數和依次調用fopen()、fwrite()、 fclose()函數的功能一樣。

示例:使用fwrite函數向文件中寫入數據,再使用 file_put_contents()函數寫入數據。

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>使用fwrite和file_put_contents函數寫入數據/title>
style type="text/css">
!--
body,td,th {
  font-size: 12px;
}
body {
  margin-left: 10px;
  margin-top: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}
-->
/style>/head>
body>
?php
header("Content-Type:text/html;charset=utf-8");
  $filepath = "05.txt";
  $str = "此情可待成追憶  只是當時已惘然br>";
  echo "用fwrite函數寫入文件:";
  $fopen = fopen($filepath,'wb') or die('文件不存在');
  fwrite($fopen,$str);
  fclose($fopen);
  readfile($filepath);
  echo "p>用file_put_contents函數寫入文件:";
  file_put_contents($filepath,$str);
  readfile($filepath);
?>
/body>
/html>

效果:

除了可以對文件內容進行讀寫,對文件本身同樣也可以進行操作,如復制、重命名、查看修改日期等。PHP內置了大量的文件操作函數。

 - bool copy( string path1, string path2):將文件從path1復制到path2。如果成功,返回true,失敗則返回false。例如:copy('tm.txt','../tm.txt')


 - bool unlink( string filename )刪除文件,成功返回true,失敗則返回False。例如:unlink(‘./tm.txt')


 - int fileatime( string filename )返回文件最后一次被訪問的時間,時間以UNIX時間戳的方式返回。例如:fileatime('1.txt')


 - int filemtime( string filename )返回文件最后一次被修改的時間,時間以UNIX時間戳的方式返回。例如:date('Y-m-dH:i:s',filemtime('1.txt'))


 - int filesize( string filename )取得文件filename的大(bytes)。例如:filesize('1.txt')


 - array pathinfo(string name [, int options])返回一個數組,包含文件name的路徑信息。有dirname、basename和extension??梢酝ㄟ^option設置要返回的信息,有PATHINFO_DIRNAME、PATHINFO_BASENAME和PATHINFO_EXTENSION。
默認為返回全部。例如:
$arr =pathinfo('/tm/sl/12/5/1.txt');
foreach($arras$method=>$value{
  echo$method.“:”.$value.“br>”;
}



 - string realpath ( string filename )返回文件filename的絕對路徑。如c:\tmp\…\1.txtrealpath('1.txt')


 - array stat ( string filename )返回一個數組,包括文件的相關信息,如上面提到的文件大小、最后修改時間等
 $arr = stat('1.txt');
 foreach($arr as $method => $value){
   echo $method.": ".$value."br>";
 }

到此這篇關于PHP文件打開關閉及讀寫操作示例解析的文章就介紹到這了,更多相關PHP文件打開關閉及讀寫內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PHP5.6讀寫excel表格文件操作示例
  • php 讀寫json文件及修改json的方法
  • PHP基于文件鎖解決多進程同時讀寫一個文件問題示例
  • PHP程序中的文件鎖、互斥鎖、讀寫鎖使用技巧解析
  • php使用fputcsv()函數csv文件讀寫數據的方法
  • PHP文件讀寫操作相關函數總結
  • php中使用PHPExcel讀寫excel(xls)文件的方法
  • php的SimpleXML方法讀寫XML接口文件實例解析
  • php中讀寫文件與讀寫數據庫的效率比較分享
  • 如何在PHP中讀寫文件

標簽:迪慶 雞西 黃石 綿陽 郴州 瀘州 白城 貴陽

巨人網絡通訊聲明:本文標題《PHP文件打開關閉及讀寫操作示例解析》,本文關鍵詞  PHP,文件,打開,關閉,及,讀寫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP文件打開關閉及讀寫操作示例解析》相關的同類信息!
  • 本頁收集關于PHP文件打開關閉及讀寫操作示例解析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲第一福利一区| 亚洲成人三级小说| 日韩三级在线免费观看| 欧美一区在线视频| 久久免费看少妇高潮| 日本一区二区三区国色天香| 亚洲欧美中日韩| 亚洲国产精品一区二区久久| 麻豆成人综合网| 99久久精品免费精品国产| 99视频一区二区| 日韩视频免费直播| 国产精品成人午夜| 蜜桃av一区二区在线观看| 成人免费高清视频在线观看| 欧美午夜精品一区| 久久免费美女视频| 视频一区二区中文字幕| 国产成人99久久亚洲综合精品| 91在线视频网址| 在线综合视频播放| 国产精品亚洲综合一区在线观看| 欧美日韩视频在线第一区| 国产亚洲精品超碰| 强制捆绑调教一区二区| 午夜视频在线观看一区二区 | 日韩**一区毛片| 国产成人福利片| 日韩三级伦理片妻子的秘密按摩| 亚洲精品国产无套在线观| 激情综合网av| 欧美一区二区人人喊爽| 亚洲一区在线观看免费 | 国产成人精品www牛牛影视| 欧美日韩中字一区| 91精品国产乱| 亚洲va国产天堂va久久en| 99久久精品免费看国产| 中文字幕免费观看一区| 国产精品99久久久久久宅男| 精品国产一区二区三区久久影院| 蜜臀av性久久久久蜜臀aⅴ流畅| 91久久国产综合久久| 中文字幕在线观看不卡| 亚洲成人自拍网| 久久精品国产亚洲aⅴ | 99热99精品| 国产网红主播福利一区二区| 精品一区二区在线播放| 日韩亚洲欧美成人一区| 免费成人在线观看| 精品精品国产高清一毛片一天堂| 韩日欧美一区二区三区| 久久久不卡网国产精品二区| 经典三级一区二区| 国产日韩欧美激情| 91一区一区三区| 亚洲在线观看免费视频| 欧美裸体一区二区三区| 中文字幕精品综合| 91视频com| 丝袜美腿亚洲综合| 久久综合狠狠综合久久综合88| 国产美女一区二区三区| 国产精品不卡在线| 91成人免费在线视频| 日韩国产欧美在线观看| 欧美mv和日韩mv的网站| 精品不卡在线视频| 亚洲午夜免费电影| 久久一区二区视频| 91免费在线看| 日韩制服丝袜av| 欧美国产日韩a欧美在线观看| 在线观看亚洲精品| 免费在线观看精品| 18成人在线观看| 欧美一区午夜视频在线观看| 国产福利一区二区三区视频| 一区二区三区中文字幕电影| 91精品国产综合久久小美女| 成人av网站在线观看| 日韩国产欧美在线播放| 色999日韩国产欧美一区二区| 久久精品一区四区| 欧美午夜免费电影| 国产传媒日韩欧美成人| 午夜精品久久久久| 国产精品麻豆99久久久久久| 日韩一区二区三区免费看 | 91精品国产综合久久久久| 国产麻豆视频精品| 亚洲美女屁股眼交| 欧美国产精品一区| 69堂成人精品免费视频| 久久精品久久综合| 日韩美女精品在线| 91精品欧美一区二区三区综合在| 成人综合激情网| 久久色在线观看| 制服丝袜亚洲播放| 欧美性猛交一区二区三区精品| 国产精品99久久不卡二区| 丝袜美腿高跟呻吟高潮一区| 97se亚洲国产综合自在线观| 日本aⅴ精品一区二区三区 | 日本韩国欧美在线| 激情五月激情综合网| 日韩欧美成人午夜| 欧美日韩一区视频| 91丨porny丨首页| 成人免费视频caoporn| 国产一区二区导航在线播放| 美腿丝袜亚洲综合| 天天综合日日夜夜精品| 一区二区三区在线观看国产| 日韩欧美在线不卡| 欧美日韩国产免费| 欧美色爱综合网| 欧美日韩精品一区二区三区蜜桃| 91欧美一区二区| 亚洲国产人成综合网站| 一区二区三区丝袜| 亚洲美女免费视频| 亚洲国产毛片aaaaa无费看 | 91在线视频播放| jlzzjlzz欧美大全| 不卡av电影在线播放| av中文字幕一区| 视频一区中文字幕| 日本一区二区不卡视频| 国产精品美女久久久久av爽李琼 | 久久99深爱久久99精品| 欧美一卡二卡在线观看| 一二三区精品视频| 一本久久综合亚洲鲁鲁五月天 | 亚洲一区影音先锋| 91蜜桃网址入口| 亚洲欧美aⅴ...| 91年精品国产| 亚洲一区二区三区影院| 在线观看日韩国产| 午夜电影一区二区三区| 欧美一区二区三区精品| 美女视频一区二区三区| 欧美精品一区二区三| 国产福利一区二区三区在线视频| 国产精品乱码一区二三区小蝌蚪| 高清国产午夜精品久久久久久| 国产精品午夜在线观看| 91捆绑美女网站| 午夜免费欧美电影| 日韩欧美一二三四区| 国产成人亚洲精品青草天美| 国产精品国产自产拍高清av| 99热精品一区二区| 五月天亚洲婷婷| 久久免费电影网| 在线观看成人小视频| 免费精品视频在线| 国产精品拍天天在线| 欧美日韩精品是欧美日韩精品| 偷拍一区二区三区| 久久久三级国产网站| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 成人免费电影视频| 亚洲一级二级三级在线免费观看| 欧美精品第1页| 国产99久久久久| 午夜国产不卡在线观看视频| 国产日韩欧美一区二区三区乱码| 91影视在线播放| 国产一区美女在线| 亚洲精品一卡二卡| 精品播放一区二区| 欧美日韩在线直播| 国产精品888| 午夜久久久影院| 最新国产成人在线观看| 69堂亚洲精品首页| 色综合久久精品| 国产专区欧美精品| 亚洲一区二区四区蜜桃| 久久色视频免费观看| 欧美日韩精品欧美日韩精品一综合| 国产精品18久久久久久久久久久久| 亚洲成va人在线观看| 中文字幕一区日韩精品欧美| 精品久久久久久综合日本欧美| 日本丰满少妇一区二区三区| 国产高清在线精品| 国产一区在线看| 美女网站视频久久| 日本一不卡视频| 亚洲精品精品亚洲| 国产精品麻豆一区二区| 国产网红主播福利一区二区| 精品国产免费视频| 日韩三级精品电影久久久| 911国产精品|