echo fseek($fp,10);輸出怎麼變成0了
益伦
益伦 2017-11-24 22:02:55
0
5
1676

echo fseek($fp,10);

益伦
益伦

全部回覆(5)
卿立平

可以查一下php7手冊,fseek函數是指標向後移動指定位元組的函數。但是這個指針移動是有一點的要求的,有三種結果:1、是在設定位置(文件的開頭)向後加要指定的位元組;2、是在設定位置(文件的開頭)向文件尾加要指定的位元組,3、設定的位置(檔案指標的定前位置)等於要增加的位元組數。
此函數的回傳值是:增加成功則回傳 0;否則回傳 -1。
而此時我們用fseek($fp,10) ,此時的理解應該是指標回到檔案開頭,然後再向後移動了10個位元組。
我們來測試一下,我有一個文件叫“mylove.txt”,內容如下:“我們要牢記人民對美好生活的嚮往就是我們的奮鬥目標,堅持以人民為中心的發展思想,努力抓好保障及改善民生各項工作,不斷增強人民的獲得感、幸福感、安全感,不斷推進全體人民共同富裕。記者見面時的講話,擲地有聲。 ”

執行程式:

<?php

$fp = fopen('D:\phpStudy\PHPTutorial\WWW\demo\mylove.txt' , 'r+ ');

// 讀取10個字元

echo fread($fp, 10); //透過fread讀取檔案時,當檔案指標讀取完指定長度字串時,指標會停留在指定長度的位置。 ';

echo fread($fp,10); // 此時讀取完之後,指標就停在第10個位元組。 '<br/>';

echo fseek($fp,20); //檔案指標從檔案頭向後移動20個字元。但此時的指標位置應處於第20個字元位置。時應該人第20個字節字元處向後讀取10個位元組的長度,所以輸出的應該是「生活的嚮往」

echo '<br/>';

?>

 

程式輸出的結果是:

我們要牢記

我們要牢記

0

生活的嚮往

結合這個案例,應該就可以更好的理解fseek ()函數了。
卿立平

可以查一下php7手冊,fseek函數是指標向後移動指定位元組的函數。但是這個指標移動是有一點的要求的,有三種結果:1、是在設定位置向後加要指定的位元組;2、是在設定位置向文件尾加要指定的字節,3、設定的位置等於要增加的位元組數。
此函數的回傳值是:增加成功則回傳 0;否則回傳 -1。

小崔

fseek()函數讀取成功回傳0,否則回傳-1。案例中fseek()讀取到了資料

小崔

同問

myfey

第10個檔案位置應該是0吧

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!