Üye Kayıt Üye Giriş

PHP De Dosya Kilitleme


PHP De Dosya Kilitleme

Web sunucusundaki dosyalarımızla sadece bir kişi işlem yapıyor olsa idi, bir sorun olmazdı; ne var ki, bir Web sitesine aynı anda birden fazla kişi eriyebilir ve dosyalarla işlem yapan programları çalıştırıyor olabilir. Bu, PHP`nin dosya işlemlerine engel olabilir. Bu sebeple, işlem için açacağımız bir dosyayı, önce kilitlemek yerinde bir önlem sayılır. Bunu, flock() fonsiyonu ile yaparız; bu fonksiyona kilitlemek istediğimiz dosyanın işaret değişkeninin adını ve kilit türünü belirten endeks sayısını parametre olarak yazarız. Örnek:


php:
<?php

$dosya_adi = "/inetpub/wwwroot/bir_dosya.txt";

$dosya = fopen ($dosya_adi , `w`) or die ("Dosya açılamadı!");

flock ( $dosya , 2); // dosyayı kilitle

$metin = "Bu satır dosyaya yazılacak: Merhaba Dünya!n";

fwrite ( $dosya , $metin ) ;

fputs ( $dosya , "Bu satır ise sonradan eklenecekn" ) ;

flock ( $dosya , 3); //dosyayı kilidini aç

fclose ($dosya);

?>


Bu fonksiyon ile kullanabileceğimiz endeks parametreleri şunlardır:

1 Paylaşım Diğer proseslerin dosyayı paylaşmalarına imkan verir

2 Tam Diğer proseslerin dosyaile işlem yapmasına engel olur

3 Serbest Dosyanın 1 veya 2 olan kilidini kaldırır

Bir dosya, herhangi bir PHP programı tarafından kilitlendiği anda, aynı dsyayı daha sonra kilitlemeye kalkan diğer programlar kendilerinden önce konulmuş kilide saygı gösterirler.

Bilgisayar Dershanesi Ders Sahibi;
Bilgisayar Dershanesi

Yorumlar

Yorum Yapabilmek İçin Üye Girişi Yapmanız Gerekmektedir.

ETİKETLER