(PHP 4 >= 4.2.0, PHP 5 <= 5.0.5, PHP 7)
dio_fcntl — Belirtilen dosya tanıtıcısı üzerinde komut çalıştırır
   dio_fcntl() işlevi, dt dosya
   tanıtıcısı üzerinde komut ile belirtilen işlemi
   yapar. Bazı komutların gerektirdiği ek değiştirgeler
   değiştirgeler değiştirgesinde belirtilebilir.
  
dtdio_open() işlevinden dönmüş bir dosya tanıtıcısı.
komutAşağıdaki işlemlerden biri belirtilebilir:
          F_SETLK - Dosya kilidi tanımlar veya siler.
          Kilit başka bir süreç tarafından tutulmuşsa işlev -1 ile döner.
         
          F_SETLKW - F_SETLK gibidir,
          farklı olarak, kilit başka bir süreç tarafından tutulmuşsa kilit
          serbest kalıncaya kadar bekler.
         
          F_GETLK - Birileri kilidin tutulmasını
          engelliyorsa dio_fcntl() işlevi (yukarıda
          açıklandığı gibi) bir ilişkisel dizi ile döner. Hiçbir engelleme
          anahtarı yoksa "tür" olarak F_UNLCK atanır.
         
          F_DUPFD - değiştirgeler
          değerine eşit veya büyük dosya tanıtıcılarından en küçük
          numaralısını bulur ve bunu döndürür.
         
          F_SETFL - Dosya tanıtıcılarının seçeneklerini
          değiştirgeler ile belirtilen değere ayarlar;
          bunlar, O_APPEND,
          O_NONBLOCK veya O_ASYNC
          olabilir. O_ASYNC kullanmak için PCNTL eklentisini kullanmanız gerekir.
         
değiştirgeler
       değiştirgeler bir ilişkisel dizi olup,
       komut olarak F_SETLK veya
       F_SETLLW belirtildiğinde aşağıdaki anahtarlar belirtilebilir:
       
"start" - kilidin başlangıç konumu
"length" - kilitli alanın boyu; sıfır, dosyanın sonuna kadar demektir.
          "wenth" - l_start'ın göreli olduğu yer:
          SEEK_SET, SEEK_END ve
          SEEK_CUR olabilir.
         
          "type" - kilit türü: F_RDLCK (okuma kilidi),
          F_WRLCK (yazma kilidi) veya
          F_UNLCK (kilidi aç) olabilir.
         
C çağrısının sonucu ile döner.
Örnek 1 - Bir kilidin atanması ve silinmesi
<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);
if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
   // dosya tanıtıcısı kilitli görünüyor
   echo "Kilit kaldırılamadı. Başka bir süreç tarafından tutuluyor.";
} else {
   echo "Kilit başarıyla atandı/silindi";
}
dio_close($fd);
?>
Bilginize: Bu işlev Windows sistemlerinde çalışmaz.