国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php 讀取文件

我們?cè)谏弦还?jié)當(dāng)中,我們講到了可以進(jìn)行文件操作。而讀取文件是一個(gè)最最常用的功能。

readfile讀取文件

那如何讀取一個(gè)文件呢?我們先學(xué)一個(gè)函數(shù)。

int readfile ( string $文件名)

功能:傳入一個(gè)文件路徑,輸出一個(gè)文件。

下面的這一段代碼中,只要傳入文件名或者指定的文件路徑就把文件讀取出來了。

<?php
   //linux類的讀了方式
   readfile("/home/paul/test.txt");
   //windows類的讀取方式
   readfile("c:\\boot.ini");
?>

注意:上面的代碼中windows的斜線是\斜線,可能會(huì)轉(zhuǎn)義掉一些字符。因此,我們寫的時(shí)候?qū)懮蟽蓚€(gè)斜線。

file_get_contents打開文件

上面的是單純打文件就直接輸出了,有沒有打開文件后,能夠賦值給一個(gè)變量的操作方式呢。

PHP當(dāng)然會(huì)提供這種方式。這個(gè)方式就是PHP打開文件并返回內(nèi)容的方式之一,我們來看看函數(shù):

string file_get_contents ( string filename)

功能:傳入一個(gè)文件或文件路徑,打開這個(gè)文件返回文件的內(nèi)容。文件的內(nèi)容是一個(gè)字符串。

<?php

   $filename = 'NoAlike.txt';

   $filestring = file_get_contents($filename);
   echo $filestring;
?>

上面的代碼,就打開了一個(gè)文件,并且將文件當(dāng)中的內(nèi)容進(jìn)行了輸出。

我們來針對(duì)之前的知識(shí)把代碼進(jìn)行一下擴(kuò)展。用一用之前的知識(shí)點(diǎn)。

<?php
   //假設(shè)我們有一個(gè)多行的文件叫NoAlike.txt,沒有的話你可以新建一個(gè)這個(gè)文件
    $filename = 'NoAlike.txt';


   //打開這個(gè)文件,將文件內(nèi)容賦值給$filestring
   $filestring = file_get_contents($filename);

   //因?yàn)槊恳恍杏幸粋€(gè)回車即\n,我用\n來把這個(gè)字符串切割成數(shù)組
   $filearray = explode("\n", $filestring);

   //把切割成的數(shù)組,下標(biāo)賦值給$key,值賦值給$val,每次循環(huán)將$key加1。
   while (list($key, $val) = each($filearray)) {
       ++$key;
       $val = trim($val);

       //用的單引號(hào),單引號(hào)不解釋變量進(jìn)行了拼接而已
       print 'Line' . $key .':'.  $val.'<br />';
   }
?>

上面,我們就把之前所學(xué)的知識(shí)進(jìn)行了組合。

fopen、fread、fclose操作讀取文件

上面file_get_contents打開文件的方式簡(jiǎn)單、粗暴。下面的

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

string fread ( resource $操作資源, int 讀取長度)

bool fclose ( resource $操作資源 )

通過上面的函數(shù)我們來講解資源類型的通常操作方式:

1.打開資源

2.使用相關(guān)函數(shù)進(jìn)行操作

3.關(guān)閉資源

fopen函數(shù) fopen函數(shù)的功能是打開文件,參數(shù)主要有兩個(gè):

1.文件打開的路徑

2.打開文件的模式

返回類型是一個(gè)資源類型,我們第一次遇到了之前基礎(chǔ)類型的時(shí)候講到的資源類型。
資源類型需要其他的函數(shù)來操作這個(gè)資源。所有的資源有打開就要有關(guān)閉。

fread函數(shù) 函數(shù)的功能的功能是讀取打開的文件資源。讀取指定長度的文件資源,讀取一部份向后移動(dòng)一部份。至到文件結(jié)尾。

fclose函數(shù) fclose函數(shù)的功能是關(guān)閉資源。資源有打開就有關(guān)閉。

了解完函數(shù),后兩個(gè)函數(shù)比較簡(jiǎn)單。而fopen函數(shù)的模式到底是什么,fopen的模式有下面幾個(gè),我們來講一下fopen的模式:

模式說明
r只讀方式打開,將文件指針指向文件頭。
r+讀寫方式打開,將文件指針指向文件頭。
w寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建
w+讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創(chuàng)建
a寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建
a+讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創(chuàng)建之
x創(chuàng)建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級(jí)別的錯(cuò)誤信息。如果文件不存在則嘗試創(chuàng)建
x+

創(chuàng)建并以讀寫方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調(diào)用失敗并返回 FALSE,并生成一條 E_WARNING 級(jí)別的錯(cuò)誤信息。如果文件不存在則嘗試創(chuàng)

接下來,我們只來學(xué)習(xí)r模式,下結(jié)課我們?cè)趯懭氲臅r(shí)候再來講講其他幾個(gè)模式。

我們先會(huì)讀取文件了,才能很好的掌握寫入文件。

1.打開文件

<?php
   //你可以創(chuàng)建一個(gè)NoAlike.txt,以只讀模式打開
   $fp = fopen('NoAlike.txt', "r");


   //var_dump()操作一下$fp看看效果,輸出的是不是只有類型提示的是resource
   var_dump($fp);
?>

2.讀取文件

<?php
   $fp = fopen('NoAlike.txt', "r");

   //打開一個(gè)文件類型后,讀取長度
   $contents = fread($fp, 1024);
?>

3.關(guān)閉文件

<?php
   $fp = fopen($filename, 'r');
   $contents = fread($fp, 1024);
   fclose($fp);
   echo $contents;
?>

其他注意事項(xiàng):

模式說明
twindows下將\n轉(zhuǎn)為\r\n
b二進(jìn)制打開模式


說明:

實(shí)驗(yàn)無法讓肉眼看到這個(gè)實(shí)驗(yàn)效果。大家記住有這個(gè)特點(diǎn)即可。

Windows 下提供了一個(gè)文本轉(zhuǎn)換標(biāo)記('t')可以透明地將 \n 轉(zhuǎn)換為 \r\n。
與此對(duì)應(yīng)還可以使用 'b' 來強(qiáng)制使用二進(jìn)制模式,這樣就不會(huì)轉(zhuǎn)換數(shù)據(jù)。要使用這些標(biāo)記,要么用 'b' 或者用 't' 作為 mode 參數(shù)的最后一個(gè)字符。


Weiter lernen
||
<?php $fp = fopen('NoAlike.txt', "r"); //打開一個(gè)文件類型后,讀取長度 $contents = fread($fp, 1024); ?>
einreichenCode zurücksetzen