亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP 文件處理

fopen() 函數(shù)用于在 PHP 中打開文件。

打開文件

PHP 中沒有單獨的文件創(chuàng)建函數(shù),創(chuàng)建和打開文件都是用 fopen() 函數(shù)。 當使用 fopen() 函數(shù)打開一個文件時,如果文件不存在,則會嘗試創(chuàng)建該文件,并返回一個資源。 如果打開失敗,函數(shù)返回 FALSE 。

語法

resource fopen ( string $文件名, string 模式)

此函數(shù)的第一個參數(shù)含有要打開的文件的名稱,第二個參數(shù)規(guī)定了使用哪種模式來打開文件:

<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>

文件可能通過下列模式來打開:

模式            描述

r                 只讀。在文件的開頭開始。    

r+              讀/寫。在文件的開頭開始。    

w               只寫。打開并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。    

w+             讀/寫。打開并清空文件的內(nèi)容;如果文件不存在,則創(chuàng)建新文件。    

a               追加。打開并向文件末尾進行寫操作,如果文件不存在,則創(chuàng)建新文件。    

a+             讀/追加。通過向文件末尾寫內(nèi)容,來保持文件內(nèi)容。    

x               只寫。創(chuàng)建新文件。如果文件已存在,則返回 FALSE 和一個錯誤。    

x+            讀/寫。創(chuàng)建新文件。如果文件已存在,則返回 FALSE 和一個錯誤。    

注釋:如果 fopen() 函數(shù)無法打開指定文件,則返回 0 (false)。

實例

如果 fopen() 函數(shù)不能打開指定的文件,下面的實例會生成一段消息:

<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
// 不能打開指定文件的錯誤信息: Unable to open file 
?>
</body>
</html>

關(guān)閉文件

fclose() 函數(shù)用于關(guān)閉打開的文件:

<?php
$file = fopen("test.txt","r");
//執(zhí)行一些代碼
fclose($file);
?>

檢測文件末尾(EOF)

feof() 函數(shù)檢測是否已到達文件末尾(EOF)。

在循環(huán)遍歷未知長度的數(shù)據(jù)時,feof() 函數(shù)很有用。

注釋:在 w 、a 和 x 模式下,您無法讀取打開的文件!

if (feof($file)) echo "文件結(jié)尾";

逐行讀取文件

fgets() 函數(shù)用于從文件中逐行讀取文件。

注釋:在調(diào)用該函數(shù)之后,文件指針會移動到下一行。

語法

string fgets( int handle [, int length] )

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

實例

下面的實例逐行讀取文件,直到文件末尾為止:

<?php
$file = fopen("welcome.txt", "r") or exit("無法打開文件!");
// 讀取文件每一行,直到文件結(jié)尾
while(!feof($file))
{
 echo fgets($file). "<br>";
}
fclose($file);
?>

逐字符讀取文件

fgetc() 函數(shù)用于從文件中逐字符地讀取文件。

注釋:在調(diào)用該函數(shù)之后,文件指針會移動到下一個字符。

實例

下面的實例逐字符地讀取文件,直到文件末尾為止:

<?php
$file=fopen("welcome.txt","r") or exit("無法打開文件!");
while (!feof($file))
{
  echo fgetc($file);
}
fclose($file);
?>

讀取整個文件

fread() 函數(shù)用于讀取文件(可安全用于二進制文件)。

語法:

string fread( int handle, int length )

fread() 從文件指針 handle 讀取最多 length 個字節(jié)。當遇到下列任何一種情況時,會停止讀取文件:

在讀取完最多 length 個字節(jié)數(shù)時

達到文件末尾的時候(EOF)

(對于網(wǎng)絡(luò)流)當一個包可用時

或(在打開用戶空間流之后)已讀取了 8192 個字節(jié)時

從文件中讀取 10 個字節(jié)(包括空格):

<?php
  $filename = "test.txt";
  $fh = fopen($filename, "r");
  echo fread($fh, "10");
  fclose($fh);
?>

file_get_contents()

file_get_contents() 函數(shù)用于把 整個文件 讀入一個字符串,成功返回一個字符串,失敗則返回 FALSE。

語法:

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

參數(shù)說明:

參數(shù)          說明

filename    要讀取的文件名稱    

offset    可選,指定讀取開始的位置,默認為文件開始位置    

maxlen    可選,指定讀取文件的長度,單位字節(jié)    

例子:

<?php
 $filename = 'NoAlike.txt';
 $filestring = file_get_contents($filename);
 echo $filestring;
?>

fwrite()

fwrite() 函數(shù)用于向文件寫入字符串,成功返回寫入的字符數(shù),否則返回 FALSE 。

語法:

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

fwrite() 把 string 的內(nèi)容寫入文件指針 handle 處。

參數(shù)說明:

參數(shù)         說明

handle    要寫入字符串的文件指針,一般由 fopen() 函數(shù)創(chuàng)建    

data        要寫入的字符串    

length    可選,規(guī)定要寫入的最大字節(jié)數(shù)    

如果指定了可選參數(shù) length,當寫入了 length 個字節(jié)或者寫完了 string 以后,寫入就會停止。

例子:

<?php
  // 要寫入的文件名字
  $filename = 'file.txt';
   // 寫入的字符
  $word = "你好!";
  $fh = fopen($filename, "w");
  echo fwrite($fh, $word);    // 輸出:6
  fclose($fh);
?>

執(zhí)行該例子程序,在程序同目錄下,file.txt 文件內(nèi)容為:你好!

上面的例子中,如果使用了 length 參數(shù),則至多寫入 length 個字符串:

echo fwrite($fh, $word, 4); // 輸出:4


file_put_contents()

file_put_contents() 函數(shù)用于把字符串寫入文件,成功返回寫入到文件內(nèi)數(shù)據(jù)的字節(jié)數(shù),失敗則返回 FALSE。

語法:

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

參數(shù)說明:

參數(shù)            說明

filename    要寫入數(shù)據(jù)的文件名    

data           要寫入的數(shù)據(jù)。類型可以是 string,array(但不能為多維數(shù)組),或者是 stream 資源    

flags           可選,規(guī)定如何打開/寫入文件??赡艿闹担?/p>

FILE_USE_INCLUDE_PATH:檢查 filename 副本的內(nèi)置路徑

FILE_APPEND:在文件末尾以追加的方式寫入數(shù)據(jù)

LOCK_EX:對文件上鎖

context    可選,Context是一組選項,可以通過它修改文本屬性    

例子:

<?php
   echo file_put_contents("test.txt", "This is something.");
?>

運行該例子,瀏覽器輸出:

18


Weiter lernen
||
<?php $filename = "test.txt"; //需要創(chuàng)建一個test.txt文件 $fh = fopen($filename, "r"); echo fread($fh, "10"); fclose($fh); ?>
einreichenCode zurücksetzen