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

PHP 檔案處理

fopen() 函數(shù)用於在 PHP 中開啟檔案。

開啟檔案

PHP 中沒有單獨的檔案建立函數(shù),建立和開啟檔案都是用 fopen() 函數(shù)。 當使用 fopen() 函數(shù)開啟一個文件時,如果文件不存在,則會嘗試建立該文件,並傳回一個資源。 如果開啟失敗,函數(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)容;如果文件不存在,則建立新文件。 ? ?

w+ ? ? ? ? ? ? 讀取/寫入。開啟並清空文件的內(nèi)容;如果文件不存在,則建立新文件。 ? ?

a ? ? ? ? ? ? ? 追加。開啟並向文件末尾進行寫入操作,如果文件不存在,則建立新文件。 ? ?

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

x ? ? ? ? ? ? ? 只寫。建立新文件。如果檔案已存在,則傳回 FALSE 和一個錯誤。 ? ?

x+ ? ? ? ? ? ?讀/寫。建立新文件。如果檔案已存在,則傳回 FALSE 和一個錯誤。 ? ?

註解:如果 fopen() 函數(shù)無法開啟指定文件,則傳回 0 (false)。

實例

如果fopen() 函數(shù)不能開啟指定的文件,下面的實例會產(chǎn)生一段訊息:

<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);
?>

偵測檔案結(jié)尾(EOF)

feof() 函數(shù)偵測是否已到達檔案末端(EOF)。

在迴圈遍歷未知長度的資料時,feof() 函數(shù)很有用。

註解:在 w 、a 和 x 模式下,您無法讀取開啟的檔案!

if (feof($file)) echo "檔案結(jié)尾";

#逐行讀取檔案

fgets() 函數(shù)用於從檔案中逐行讀取檔案。

註解:在呼叫函數(shù)之後,檔案指標會移到下一行。

語法

string fgets( int handle [, int length] )

fgets() 從 handle 指向的檔案中讀取一行並傳回長度最多為 length-1 位元組的字串。 碰到換行符號(包括在返回值中)、EOF 或已經(jīng)讀取了 length-1 位元組後停止。 如果沒有指定 length ,則預(yù)設(shè)為 1K ,或說 1024 位元組。

實例

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

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

逐字符讀取文件

#fgetc() 函數(shù)用於從檔案中逐字元讀取檔案。

註解:在呼叫函數(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 個位元組。當遇到下列任何一種情況時,會停止讀取檔案:

在讀取完最多l(xiāng)ength 個位元組數(shù)時

達到檔案結(jié)尾的時候(EOF)

(對於網(wǎng)路流)當一個套件可用時

或(在開啟用戶空間流之後)已讀取了8192 個位元組時

從檔案讀取10 個位元組(包括空格):

<?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 ? 選取指定讀取開始的位置,預(yù)設(shè)為檔案開始位置? ?

maxlen ? ?可選,指定讀取檔案的長度,單位位元組? ?

範例:

<?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ù)建立? ?

data ? ? ? ?要寫入的字串? ?

##

length ? ?可選,規(guī)定要寫入的最大位元組數(shù) ? ?

如果指定了可選參數(shù) length,當寫入了 length 個位元組或?qū)懭肓?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() 函式用來把字串寫入文件,成功傳回寫入文件內(nèi)資料的位元組數(shù),失敗則傳回FALSE。

語法:

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

參數(shù)說明:

參數(shù)? ? ? ? ? ?

#filename ? ?要寫入資料的檔案名稱? ?


################################### data ? ? ? ? ? 要寫入的資料。類型可以是 string,array(但不能為多維數(shù)組),或 stream 資源 ? ?######flags ? ? ? ? ? 可選,規(guī)定如何開啟/寫入檔案??赡艿闹担?#####FILE_USE_INCLUDE_PATH:檢查filename 副本的內(nèi)建路徑######FILE_APPEND:在檔案結(jié)尾以追加的方式寫入資料######LOCK_EX:對檔案上鎖## #######context ? ?可選,Context是一組選項,可以透過它修改文字屬性? ?#########範例:###
<?php
   echo file_put_contents("test.txt", "This is something.");
?>
###執(zhí)行此範例,瀏覽器輸出:# ########18################
繼續(xù)學(xué)習(xí)
||
<?php $filename = "test.txt"; //需要創(chuàng)建一個test.txt文件 $fh = fopen($filename, "r"); echo fread($fh, "10"); fclose($fh); ?>