fseek

(PHP 4, PHP 5, PHP 7, PHP 8)

fseek在文件指針中定位

說(shuō)明

fseek(resource $handle, int $offset, int $whence = SEEK_SET): int

在與 handle 關(guān)聯(lián)的文件中設(shè)定文件指針位置。 新位置從文件頭開(kāi)始以字節(jié)數(shù)度量,是以 whence 指定的位置加上 offset

In general, it is allowed to seek past the end-of-file; if data is then written, reads in any unwritten region between the end-of-file and the sought position will yield bytes with value 0. However, certain streams may not support this behavior, especially when they have an underlying fixed size storage.

參數(shù)

handle

文件系統(tǒng)指針,是典型地由 fopen() 創(chuàng)建的 resource(資源)。

offset

偏移量。

要移動(dòng)到文件尾之前的位置,需要給 offset 傳遞一個(gè)負(fù)值,并設(shè)置 whenceSEEK_END。

whence

whence values are:

  • SEEK_SET - 設(shè)定位置等于 offset 字節(jié)。
  • SEEK_CUR - 設(shè)定位置為當(dāng)前位置加上 offset。
  • SEEK_END - 設(shè)定位置為文件尾加上 offset

返回值

成功則返回 0;否則返回 -1。注意移動(dòng)到 EOF 之后的位置不算錯(cuò)誤。

范例

示例 #1 fseek() 例子

<?php

$fp 
fopen('somefile.txt''r');

// read some data
$data fgets($fp4096);

// move back to the beginning of the file
// same as rewind($fp);
fseek($fp0);

?>

注釋

注意:

如果使用附加模試(aa+),任何寫(xiě)入文件數(shù)據(jù)都會(huì)被附加上去,而文件的位置將會(huì)被忽略,調(diào)用 fseek() 的結(jié)果尚未定義。

注意:

Not all streams support seeking. For those that do not support seeking, forward seeking from the current position is accomplished by reading and discarding data; other forms of seeking will fail.

參見(jiàn)

  • ftell() - 返回文件指針讀/寫(xiě)的位置
  • rewind() - 倒回文件指針的位置