Arama Md5 Oluşturcu Ip Sorgulama Proxy Servisi Admin Login
Kullanımdaki dosyayı kilitleme! .: PHP, Depo, Mysql, Example Code, Script, Dersleri, Ders, Örnek Kodlar, Programlar, Bot, Çalışmalar, Projeler, Destek, Yardım, Makale, Veritabanı
Arama  
   
Anasayfa .: Dosya İşlemleri .: Kullanımdaki dosyayı kilitleme!

Kullanımdaki dosyayı 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

$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 eklenecek\n" ) ;

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

fclose ($dosya);

?>

 

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

 

1Paylaşım Diğer proseslerin dosyayı paylaşmalarına imkan verir
2TamDiğer proseslerin dosya ile işlem yapmasına engel olur
3SerbestDosyanı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.

 



Bu yazı sana nasıl yardımcı oldu?

Yorumlar

Yorum Gönderilmemiş.