您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關ftell()、fseek()和rewind()函數怎么在PHP中使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。
在對文件進行讀寫過程中,有時需要在文件中跳轉、同不同位置讀取,以及將數據寫入到不同的位置。例如,使用文件模擬數據庫保存數據,就需要移動文件指針。指針的位置是以從文件頭開始的字節數度量的,默認以不同模式打開文件時,文件指針通常在文件的開頭或是結尾處,可以通過ftell()、fseek()和rewind()三個函數對文件指針進行操作,它們的原型如下所示:
int ftell(resource handle) //返回文件指針的當前位置
int fseek(resource hanlde,int offset[,int whence]) //移動文件指針到指定位置
bool rewind(resource handle) //移動文件指針到文件的開頭
使用這些函數時,必須提供一個用fopen()函數打開的、合法的文件指針。函數ftell()獲取由指定的資源中的文件指針當前位置的偏移量;函數rewind()將文件指針移回到指定資源的開頭;而函數fseek()函數則將指針移動到第二個參數offset指定的位置,如果沒有提供第三個可選參數whence,則位置將設置為從文件開頭的offset字節處。否則,第三個參數whence可以設置為三個可能的值,它將影響指針的位置。
★SEEK_CUR:設置指針位置為當前位置加上第二個參數所提供的offset字節。
★SEEK_END:設置指針位置為EOF加上offset字節。在這里,offset必須設置為負值。
★SEEK_SET:設置指針位置為offset字節處。這與忽略第三個參數whence效果相同。
如果fseek()函數執行成功,將返回0,失敗則返回-1.如果將文件以追加模式“a”或“a+”打開,寫入文件的任何數據是會被附加在后面,不會管文件指針的位置。代碼如下所示:
復制代碼 代碼如下:
<?php
$fp = fopen('data.txt' ,'r')or die("文件打開失敗");
echo ftell($fp)."<br>"; //輸出剛打開文件的指針默認位置,指針在文件的開頭位置為0
echo fread($fp, 10)."<br>"; //讀取文件中的前10個字符輸出,指針位置發生了變化
echo ftell($fp)."<br>"; //讀取文件的前10個字符之后,指針移動的位置在第10個字節處
fseek($fp, 100,SEEK_CUR); //又將指針移動到倒數10個字節位置處
echo ftell($fp); //文件的位置在110個字節處
echo fread($fp,10)."<br>"; //讀取110到120字節數位置的字符串,讀取后指針的位置為120
fseek($fp,-10,SEEK_END); //又將指針移動到倒數10個字節位置處
echo fread($fp, 10)."<br>"; //輸出文件中最后10個字符
rewind($fp); //又移動文件指針到文件的開頭
echo ftell($fp); //指針在文件的開頭位置,輸出0
fclose($fp);
?>
以上就是ftell()、fseek()和rewind()函數怎么在PHP中使用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。