溫馨提示×

溫馨提示×

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

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

ftell()、fseek()和rewind()函數(shù)怎么在PHP中使用

發(fā)布時間:2021-03-04 14:44:48 來源:億速云 閱讀:139 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)ftell()、fseek()和rewind()函數(shù)怎么在PHP中使用,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預(yù)處理語言,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。

在對文件進(jìn)行讀寫過程中,有時需要在文件中跳轉(zhuǎn)、同不同位置讀取,以及將數(shù)據(jù)寫入到不同的位置。例如,使用文件模擬數(shù)據(jù)庫保存數(shù)據(jù),就需要移動文件指針。指針的位置是以從文件頭開始的字節(jié)數(shù)度量的,默認(rèn)以不同模式打開文件時,文件指針通常在文件的開頭或是結(jié)尾處,可以通過ftell()、fseek()和rewind()三個函數(shù)對文件指針進(jìn)行操作,它們的原型如下所示:

int ftell(resource handle)         //返回文件指針的當(dāng)前位置

int fseek(resource hanlde,int offset[,int whence])          //移動文件指針到指定位置
bool rewind(resource handle)          //移動文件指針到文件的開頭

使用這些函數(shù)時,必須提供一個用fopen()函數(shù)打開的、合法的文件指針。函數(shù)ftell()獲取由指定的資源中的文件指針當(dāng)前位置的偏移量;函數(shù)rewind()將文件指針移回到指定資源的開頭;而函數(shù)fseek()函數(shù)則將指針移動到第二個參數(shù)offset指定的位置,如果沒有提供第三個可選參數(shù)whence,則位置將設(shè)置為從文件開頭的offset字節(jié)處。否則,第三個參數(shù)whence可以設(shè)置為三個可能的值,它將影響指針的位置。

★SEEK_CUR:設(shè)置指針位置為當(dāng)前位置加上第二個參數(shù)所提供的offset字節(jié)。
★SEEK_END:設(shè)置指針位置為EOF加上offset字節(jié)。在這里,offset必須設(shè)置為負(fù)值。
★SEEK_SET:設(shè)置指針位置為offset字節(jié)處。這與忽略第三個參數(shù)whence效果相同。

如果fseek()函數(shù)執(zhí)行成功,將返回0,失敗則返回-1.如果將文件以追加模式“a”或“a+”打開,寫入文件的任何數(shù)據(jù)是會被附加在后面,不會管文件指針的位置。代碼如下所示:

復(fù)制代碼 代碼如下:


<?php
$fp = fopen('data.txt' ,'r')or die("文件打開失敗");
 
echo ftell($fp)."<br>";         //輸出剛打開文件的指針默認(rèn)位置,指針在文件的開頭位置為0
echo fread($fp, 10)."<br>";        //讀取文件中的前10個字符輸出,指針位置發(fā)生了變化
echo ftell($fp)."<br>";           //讀取文件的前10個字符之后,指針移動的位置在第10個字節(jié)處
 
fseek($fp, 100,SEEK_CUR);       //又將指針移動到倒數(shù)10個字節(jié)位置處
echo ftell($fp); //文件的位置在110個字節(jié)處
echo fread($fp,10)."<br>";     //讀取110到120字節(jié)數(shù)位置的字符串,讀取后指針的位置為120
 
fseek($fp,-10,SEEK_END);         //又將指針移動到倒數(shù)10個字節(jié)位置處
echo fread($fp, 10)."<br>";        //輸出文件中最后10個字符
 
rewind($fp);          //又移動文件指針到文件的開頭
echo ftell($fp);           //指針在文件的開頭位置,輸出0
 
fclose($fp);
?>

以上就是ftell()、fseek()和rewind()函數(shù)怎么在PHP中使用,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI