tft每日頭條

 > 科技

 > php怎麼浏覽文件

php怎麼浏覽文件

科技 更新时间:2024-10-06 01:35:35

1.打開文件

定義和用法

fopen() 函數打開文件或者 URL。

如果打開失敗,本函數返回 FALSE。

語法

fopen(filename,mode,include_path,context)

參數 描述

filename 必需。規定要打開的文件或 URL。

mode 必需。規定要求到該文件/流的訪問類型。可能的值見下表。

include_path 可選。如果也需要在 include_path 中檢索文件的話,可以将該參數設為 1 或 TRUE。

context 可選。規定文件句柄的環境。Context 是可以修改流的行為的一套選項。

mode 參數的可能的值

mode 說明

"r" 隻讀方式打開,将文件指針指向文件頭。

"r " 讀寫方式打開,将文件指針指向文件頭。

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

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

2.訪問文件

1)fread()

定義和用法

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

語法

fread(file,length)

參數 描述

file 必需。規定要讀取打開文件。

length 必需。規定要讀取的最大字節數。

說明

fread() 從文件指針 file 讀取最多 length 個字節。該函數在讀取完最多 length 個字節數,或到達 EOF 的時候,或(對于網絡流)當一個包可用時,或(在打開用戶空間流之後)已讀取了 8192 個字節時就會停止讀取文件,視乎先碰到哪種情況。

返回所讀取的字符串,如果出錯返回 false。

例:fread.php

<?php

$filename = "file.txt"; //文件名稱

$handle = fopen($filename, "r");//隻讀打開文件句柄指針

$str1 = fread($handle,filesize($filename));//讀取文件,按照文件自身大小讀取

echo '$str1 = '.$str1.'<br><br>';//讀取文件内容

fclose($handle);//關閉隻讀

$handle = fopen($filename, "r");//再次打開隻讀文件

$str2 = fread($handle,7);//讀取文件,按照7個字節讀取 換行占兩個字節

echo '$str2 = '.$str2;//讀取文件内容

fclose($handle);//關閉隻讀

?>

結果:

php怎麼浏覽文件(PHP訪問文件)1

注:讀取文件3個步驟

調用fopen函數打開文件句柄

調用fread等文件讀取函數

調用fclose函數關閉文件句柄

2)fgets()

定義和用法

fgets() 函數從文件指針中讀取一行。

語法

fgets(file,length)

參數 描述

file 必需。規定要讀取的文件。

length 可選。規定要讀取的字節數。默認是 1024 字節。

說明

從 file 指向的文件中讀取一行并返回長度最多為 length - 1 字節的字符串。碰到換行符(包括在返回值中)、EOF 或者已經讀取了 length - 1 字節後停止(要看先碰到那一種情況)。如果沒有指定 length,則默認為 1K,或者說 1024 字節。

若失敗,則返回 false。

例:fgets.php

<?php

$handle = @fopen("file.txt", "r");//打開隻讀句柄

$i = 0;//定義變量存儲行數

while (!feof($handle)) { //函數檢測是否已到達文件末尾 (eof) 是或者錯誤返回true

$buffer = fgets($handle, 4096); //句柄處讀取行内容 字節大小為4096-1的内容

$i = $i 1;//計數

echo "第 $i 行".$buffer.'<br>';//打印讀取幾行内容

}

fclose($handle);//關閉句柄

?>

結果:

php怎麼浏覽文件(PHP訪問文件)2

注:

定義和用法

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

如果文件指針到了 EOF 或者出錯時則返回 TRUE,否則返回一個錯誤(包括 socket 超時),其它情況則返回 FALSE。

語法

feof(file)

參數 描述

file 必需。規定要檢查的打開文件。

說明

file 參數是一個文件指針。這個文件指針必須有效,并且必須指向一個由 fopen() 或 fsockopen() 成功打開(但還沒有被 fclose() 關閉)的文件。

3)fgetc()

定義和用法

fgetc() 函數從文件指針中讀取一個字符。

語法

fgetc(file)

參數 描述

file 必需。規定要檢查的文件。

說明

返回一個包含有一個字符的字符串,該字符從 file 指向的文件中得到。碰到 EOF 則返回 false。

文件指針必須有效,并且必須指向一個由 fopen() 或 fsockopen() 成功打開(但還沒有被 fclose() 關閉)的文件。

例:fgetc.php

<?php

$fp = @fopen('file.txt', 'r');//打開隻讀句柄

$i = 0;//定義變量存儲字符次數

while (false !== ($char = fgetc($fp))) { //讀取句柄中每一個字符直到EOF 返回false

$i = $i 1;//計數

echo "第 $i 字符:$char<br>";//打印讀取第幾個字符

}

?>

結果:

php怎麼浏覽文件(PHP訪問文件)3

4)file()

定義和用法

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

與 file_get_contents() 類似,不同的是 file() 将文件作為一個數組返回。數組中的每個單元都是文件中相應的一行,包括換行符在内。

如果失敗,則返回 false。

語法

file(path,include_path,context)

參數 描述

path 必需。規定要讀取的文件。

include_path 可選。如果也想在 include_path 中搜尋文件的話,可以将該參數設為 "1"。

context

可選。規定文件句柄的環境。

context 是一套可以修改流的行為的選項。若使用 null,則忽略。

說明

對 context 的支持是 PHP 5.0.0 添加的。

返回的數組中每一行都包括了行結束符,因此如果不需要行結束符時還需要使用 rtrim() 函數。

例:file.php

<?php

$lines = file('file.txt');// 把文件内容存儲到$lines 數組裡,數組中每個單元都是文件中的一行,包括換行符在内

foreach ($lines as $num => $line) { //foreach方式遍曆打印數組内容

echo "第{$num}行: ".$line."<br>";

}

?>

結果:

php怎麼浏覽文件(PHP訪問文件)4

5)fgetss()

定義和用法

fgetss() 函數從打開的文件中讀取一行并過濾掉 HTML 和 PHP 标記。

與 fgets() 相同,不同的是 fgetss 嘗試從讀取的文本中去掉任何 HTML 和 PHP 标記。

語法

fgetss(file,length,tags)

參數 描述

file 必需。規定要讀取的文件。

length 可選。規定要讀取的字節數。默認是 1024 字節。該參數在 PHP 5 之前是必需的。

tags 可選。規定不會被删除的标簽。

說明

可以用可選的第三個參數 tags 指定哪些标記不被去掉。

若失敗,則返回 false。

例:fgetss.php

<?php

$handle = @fopen("file.html", "r");//打開隻讀句柄

$i = 0;//定義變量存儲行數

while (!feof($handle)) {//函數檢測是否已到達文件末尾 (eof) 是或者錯誤返回true

$lines = fgetss($handle);//從打開的文件中讀取一行并過濾掉 HTML 和 PHP 标記。

$i = $i 1;//計數

echo "第{$i}行: ".$lines."<br>";//打印讀取幾行内容

}

?>

file.html

<html>

<head>title

</head>

<body>

<pre>This is a file.

<table>

<tr>

<td>abcd</td>

<td>xyz</td>

</tr>

</table>

</body>

</html>

結果:

php怎麼浏覽文件(PHP訪問文件)5

php怎麼浏覽文件(PHP訪問文件)6

3.寫入文件

1)fwrite

定義和用法

fwrite() 函數寫入文件(可安全用于二進制文件)。

語法

fwrite(file,string,length)

參數 描述

file 必需。規定要寫入的打開文件。

string 必需。規定要寫入文件的字符串。

length 可選。規定要寫入的最大字節數。

說明

fwrite() 把 string 的内容寫入文件指針 file 處。 如果指定了 length,當寫入了 length 個字節或者寫完了 string 以後,寫入就會停止,視乎先碰到哪種情況。

fwrite() 返回寫入的字符數,出現錯誤時則返回 false。

例:fwrite.php

<?php

$filename = 'file.txt'; //文件名稱

$content = "abcd\nxyz";//文件内容

$handle = fopen($filename,'a ');//讀寫方式打開,将文件指針指向文件末尾。如果文件不存在則嘗試創建之。

if(fwrite($handle,$content) === false) //返回寫入的字符數,出現錯誤時則返回 false。

{

echo "寫入{$filename}文件失敗";//寫入{$filename}文件失敗

exit;

}

echo "寫入{$filename}文件成功";//寫入{$filename}文件成功

fclose($handle);//關閉句柄

?>

結果:

php怎麼浏覽文件(PHP訪問文件)7

2)file_put_contents

定義和用法

file_put_contents() 函數把一個字符串寫入文件中。

與依次調用 fopen(),fwrite() 以及 fclose() 功能一樣。

語法

file_put_contents(file,data,mode,context)

參數 描述

file 必需。規定要寫入數據的文件。如果文件不存在,則創建一個新文件。

data 可選。規定要寫入文件的數據。可以是字符串、數組或數據流。

mode

可選。規定如何打開/寫入文件。可能的值:

FILE_USE_INCLUDE_PATH

FILE_APPEND

LOCK_EX

context

可選。規定文件句柄的環境。

context 是一套可以修改流的行為的選項。若使用 null,則忽略。

說明

參數 data 可以是數組(但不能是多維數組)。

自 PHP 5.1.0 起,data 參數也可以被指定為 stream 資源,stream 中所保存的緩存數據将被寫入到指定文件中,這種用法就相似于使用 stream_copy_to_stream() 函數。

對 context 參數的支持是 PHP 5.0.0 添加的。

返回值

該函數将返回寫入到文件内數據的字節數。

提示和注釋

提示:使用 FILE_APPEND 可避免删除文件中已有的内容。

例:file_put_contents.php

<?php

$content = 'file_put_contents';//寫入内容

$file = 'file.txt';//寫入文件

if(file_put_contents($file ,$content) === false)//返回寫入的字符數,出現錯誤時則返回 false。

{

echo "寫入{$file}文件失敗";//寫入{$file}文件失敗

exit;

}

echo "寫入{$file}文件成功";//寫入{$file}文件成功

?>

結果:

php怎麼浏覽文件(PHP訪問文件)8

4.複制文件

定義和用法

copy() 函數拷貝文件。

語法

copy(source,destination)

參數 描述

source 必需。規定要複制的文件。

destination 必需。規定複制文件的目的地。

說明

将文件從 source 拷貝到 destination。如果成功則返回 TRUE,否則返回 FALSE。

提示和注釋

提示:如果要移動文件的話,請使用 rename() 函數。

例:copy.php

<?php

$file = 'filebak.txt'; //被複制原文件

$newfile = 'file.txt';//複制後文件

if (!copy($file, $newfile)) {//如果成功則返回 TRUE,否則返回 FALSE。

echo "文件複制失敗:{$file} copy to {$newfile}";

}

else {

echo "文件複制成功:{$file} copy to {$newfile}";

}

?>

結果:

php怎麼浏覽文件(PHP訪問文件)9

原文件不存在報錯

php怎麼浏覽文件(PHP訪問文件)10

5.删除文件

定義和用法

unlink() 函數删除文件。

若成功,則返回 true,失敗則返回 false。

語法

unlink(filename,context)

參數 描述

filename 必需。規定要删除的文件。

context 可選。規定文件句柄的環境。Context 是可修改流的行為的一套選項。

例:unlink.php

<?php

$filename = 'file.txt'; //要被删除文件

fopen($filename,'a ');//讀寫方式打開,将文件指針指向文件末尾。如果文件不存在則嘗試創建之。

if(!unlink($filename))//若成功,則返回 true,失敗則返回 false。

{

echo "文件{$filename}删除失敗";

}

else

{

echo "文件{$filename}删除成功";

}

?>

結果:

php怎麼浏覽文件(PHP訪問文件)11

6.重命名文件

定義和用法

rename() 函數重命名文件或目錄。

若成功,則該函數返回 true。若失敗,則返回 false。

語法

rename(oldname,newname,context)

參數 描述

oldname 必需。規定要重命名的文件或目錄。

newname 必需。規定文件或目錄的新名稱。

context 可選。規定文件句柄的環境。context 是可修改流的行為的一套選項。

例:rename.php

<?php

$filename = 'file.txt';//被重命名原文件

$newname = 'newfile.txt';//重命名文件

fun_rename($filename,$newname);//調用fun_rename函數

function fun_rename($filename,$newname)//創建函數 形參$filename和$newname

{

if(!rename($filename,$newname))//若成功,則該函數返回 true。若失敗,則返回 false。

{

echo "文件{$filename}重命名為{$newname}失敗<br>";

}

else

{

echo "文件{$filename}重命名為{$newname}成功<br>";

}

}

?>

結果:

php怎麼浏覽文件(PHP訪問文件)12

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved