亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中如何讀取文件

發布時間:2021-10-18 16:32:32 來源:億速云 閱讀:122 作者:iii 欄目:編程語言

這篇文章主要介紹“PHP中如何讀取文件”,在日常操作中,相信很多人在PHP中如何讀取文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP中如何讀取文件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

PHP中如何讀取文件

在我們使用電腦時,我們都會使用電腦來打開關閉一個文件,創建一個文件或者上傳一個文件。那么這些操作在代碼里能不能做呢?如果能做的話,應該怎樣去做?其實很簡單,學習文件處理實際上就是學習文件處理的函數,再結合之前所學習的內容。那么接下來我們一起來看看吧。

讀取文件算得上是我們再日常使用中最常見的一個操作了,那么再代碼里要怎樣實現。

下面來介紹一下如何使用 PHP 中的函數來讀取文件內容。

fgetc():從文件中讀取一個字符

在使用這些函數讀取文件之前,我們需要先在服務器根目錄下建立一個文本文件(這里我們以 text.txt 為例),文本內容如下:

PHP中如何讀取文件

接下來我們來看一看,fgetc()在使用中應該怎樣去用,輸出的結果又是如何:

<?php
    header("Content-Type: text/html;charset=utf-8");   
    $handle = fopen('test.txt', 'r');             
   
$a = fgetc($handle)  ;
       echo $a; 
       
?>

輸出結果:

PHP中如何讀取文件

fgetc只能讀取一個字符,我們可以利用之前講到的循環來進行結合,就可以得到下面示例:

<?php
    header("Content-Type: text/html;charset=utf-8");    //設置字符編碼
    $handle = fopen('test.txt', 'r');                 //打開文件
    if (!$handle) {                                     //判斷文件是否打開成功
        echo '文件打開失敗!';
    }
    while (false !== ($char = fgetc($handle))) {        //循環讀取文件內容
        echo $char;
    }
    fclose($handle);                                    //關閉文件
?>

輸出結果:

PHP中如何讀取文件

fgets()fgetss():逐行讀取文件

<?php
    header("Content-Type: text/html;charset=utf-8");   
    $handle = fopen('test.txt', 'r');             
   
$a = fgets($handle)  ;
       echo $a; 
       
?>

輸出結果:

PHP中如何讀取文件

fgetss()函數是fgets()的一個變式,也是用來讀取一行數據,讀取的同時它還會過濾掉讀取內容中的PHP和HTML標記,

可以看出,通過fgets可以逐行讀取文件,同時可以和上文一樣,我們可以利用循環來讀取全部文件。

示例如下:

<?php
    $handle = @fopen("test.txt", "r");
    if ($handle) {
        while (($info = fgets($handle, 1024)) !== false) {
            echo $info.'<br>';
        }
        fclose($handle);
    }                                
?>

輸出結果:

PHP中如何讀取文件

fread():讀取文件(任意長度)

PHP中如何讀取文件

<?php
    $filename = "test.txt";
    $handle = fopen($filename, "r");
    $contents = fread($handle, '6');
    echo '從文件中讀取 6 個字符長度:'.$contents.'<br>';
    rewind($handle);
    $contents = fread($handle, filesize($filename));
    echo '讀取全部的文件內容:'.$contents;
    fclose($handle);
?>

輸出結果:

PHP中如何讀取文件

readfile():讀取全部文件

<?php
    $file = 'test.txt';
    $info = readfile($file);
?>

輸出結果:

PHP中如何讀取文件

file():把整個文件讀入一個數組中

<?php
    $file = 'test.txt';
    $arr  = file($file, FILE_IGNORE_NEW_LINES);
    $arr2 = file($file);
    echo '<pre>';
    var_dump($arr);
    var_dump($arr2);
?>

輸出結果:

PHP中如何讀取文件

file_get_contents():將文件讀入一個字符串

首先,我們先創建一個test.txt文件

PHP中如何讀取文件

然后輸入:

<?php
    $a = 'test.txt';
   $b = file_get_contents($a);
   //因為每一行有一個回車即\n,我用\n來把這個字符串切割成數組
   $c = explode("\n", $b);
   //把切割成的數組,下標賦值給$key,值賦值給$val,每次循環將$key加1。
   while (list($key, $val) = each($c)) {
       ++$key;
       $val = trim($val);
       //用的單引號,單引號不解釋變量進行了拼接而已
       print 'Line' . $key .':'.  $val.'<br />';
   }
?>

通過與我們之前學的知識結合起來,輸出結果:

PHP中如何讀取文件

這就是我們學習的知識進行了整合,先是通過file_get_contents先打開文件,然后在通過list each語句和while循環,得到了輸出結果。

擴展知識:fopen、fread、fclose操作讀取

上述的file_get_contents打開文件的方式簡單又粗暴,那么接下來的幾個

resource fopen ( string $文件名, string 模式)
string fread ( resource $操作資源, int 讀取長度)
bool fclose ( resource $操作資源 )

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

  • 打開資源

  • 使用相關函數進行操作

  • 關閉資源

fopen函數 fopen函數的功能是打開文件,參數主要有兩個:

  • 文件打開的路徑

  • 打開文件的模式

返回類型是一個資源類型,資源類型需要其他的函數來操作這個資源。所有的資源有打開就要有關閉。

fread函數: 函數的功能的功能是讀取打開的文件資源。讀取指定長度的文件資源,讀取一部份向后移動一部份。至到文件結尾。

fclose函數 :fclose函數的功能是關閉資源。資源有打開就有關閉。

接下來給大家介紹一下fopen函數的模式:

  • r   只讀方式打開,將文件指針指向文件頭。

  • r+    讀寫方式打開,將文件指針指向文件頭。

  • w    寫入方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創建

  • w+   讀寫方式打開,將文件指針指向文件頭并將文件大小截為零。如果文件不存在則嘗試創建

  • a    寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建

  • a+    讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之

  • x   創建并以寫入方式打開,將文件指針指向文件頭。如果文件已存在,則 fopen() 調用失敗并返回 FALSE,并生成一條 E_WARNING 級別的錯誤信息。如果文件不存在則嘗試創建

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

到此,關于“PHP中如何讀取文件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

富民县| 台湾省| 石嘴山市| 垫江县| 宿迁市| 海阳市| 邵阳县| 石台县| 大厂| 黔西| 平江县| 庐江县| 阿克陶县| 广东省| 正宁县| 漳平市| 海晏县| 佳木斯市| 台南县| 肥西县| 宜都市| 仁布县| 永和县| 太仓市| 温州市| 珠海市| 江安县| 巫山县| 兴业县| 大余县| 伊金霍洛旗| 阳城县| 土默特右旗| 兴隆县| 秀山| 大英县| 泌阳县| 绍兴县| 华亭县| 盈江县| 文水县|