(PHP 4, PHP 5, PHP 7, PHP 8)
fseek — Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
Dosya tanıtıcısı dt
ile belirtilen bir dosyada konum göstericisini belli bir konuma götürür. Dosyanın başlangıcından itibaren bayt sayısı olarak ölçülen yeni konum, nereden
değerine nereye
değeri eklenerek belirtilir.
Genel olarak, dosyanın sonununu aşan konumlamaya izin verilir; veri daha sonra yazılırsa, dosyanın sonu ile istenen konum arasındaki herhangi bir yazılı olmayan bölgedeki okumalar 0 değerine sahip baytlar verir. Ancak, özellikle temelde sabit boyutlu bir depolama alanı olan bazı akımlar bu davranışı desteklemeyebilir.
dt
Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.
nereye
Yeni konum.
Konumu dosya sonunun öncesine taşımak için bu bağımsız değişkenle negatif bir değer, nereden
bağımsız değişkeniyle de SEEK_END
aktarın.
nereden
Mevcut konumun nasıl yorumlanacağı belirtilir:
SEEK_SET
- nereye
konumunun dosya başlangıcından itibaren belirtildiği varsayılır. SEEK_CUR
- nereye
konumunun mevcut dosya konumundan itibaren bayt sayısı olarak belirtildiği varsayılır. Bu miktar pozitif veya negatif olabilir. SEEK_END
- nereye
konumunun dosya sonundan itibaren belirtildiği varsayılır. Başarı durumunda 0 aksi takdirde -1 döner.
Örnek 1 - fseek() örneği
<?php
$fp = fopen('dosya.txt', 'r');
// Biraz veri okuyalım
$data = fgets($fp, 4096);
// rewind($fp) çağrısı yapmış gibi
// dosyanın başına dönelim;
fseek($fp, 0);
?>
Bilginize:
Eğer dosya, ekleme (
a
veyaa+
) kipinde açılmışsa, dosyaya yazılan her veri konuma bakılmaksızın daima dosyanın sonuna eklenir. fseek() çağrısının bu durumdaki sonucu tanımsızdır.
Bilginize:
Tüm akımlar dosya içi konumlamayı desteklemez. Konumlamayı desteklemeyenler için, mevcut konumdan ileriye doğru bir konumlama, verileri okuyup terkederek gerçekleştirilir; diğer konumlama biçimleri başarısız olacaktır.