melankolıa18 1
melankolıa18
romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP – Dosya İzinleri

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,439
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 7 Gün
Başarım Puanı
1,051
MmoLira
695,092
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

8bDKh.png


İzin kavramı Unix/Linux dosya sisteminin merkezinde yer alır. İzinler bir dosyaya kimin erişebileceğini ve bir dosyaya nasıl erişilebileceğini belirler. Linux'taki dosya izinleri , Linux terminali içinde çalıştırılabilen chmod komutuyla yönetilir. PHP, dosya izinlerini programlı olarak işleyebileceğiniz chmod() işlevini sağlar.

PHP'nin chmod() fonksiyonu yalnızca Linux işletim sisteminde çalışırken etkilidir. Windows'ta çalışmaz çünkü Windows işletim sisteminin dosya izinlerini kontrol etme mekanizması farklıdır.

Bir dosyada etkinleştirilen izinleri görüntülemek için, " ls -l " komutunu kullanarak dosyaların listesini alın (uzun listeleme)

mvl@GNVBGL3:~$ ls -l

-rwxr-xr-x 1 mvl mvl 16376 May 5 21:52 a.out
-rw-r--r-- 1 mvl mvl 83 May 5 21:52 hello.cpp
-rwxr-xr-x 1 mvl mvl 43 Oct 11 14:50 hello.php
-rwxr-xr-x 1 mvl mvl 43 May 8 10:01 hello.py
drwxr-xr-x 5 mvl mvl 4096 Apr 20 21:52 myenv

İlk sütun her dosyanın izin bayraklarını içerir. Üçüncü ve dördüncü sütun her dosyanın sahibini ve grubunu, ardından boyutu, tarihi ve saati ve dosya adını gösterir.

İzin dizisi on karakterden oluşur, anlamları aşağıdaki gibi açıklanmıştır.

KonumAnlam
1"d" bir dizin ise, "-" normal bir dosya ise
2, 3, 4dosyanın kullanıcısı (sahibi) için okuma, yazma, yürütme izni
5, 6, 7grup için okuma, yazma, yürütme izni
8, 9, 10diğer (dünya) için okuma, yazma, yürütme izni

İzin dizesindeki karakterlerin anlamları şunlardır:

DeğerAnlam
-Bayrak ayarlanmadı.
RDosya okunabilir.
wDosya yazılabilir. Dizinler için dosyalar oluşturulabilir veya kaldırılabilir.
XDosya yürütülebilir. Dizinler için dosyalar listelenebilir.

Yukarıdaki listedeki ilk maddeyi göz önünde bulundurursanız:

-rwxr-xr-x 1 mvl mvl 16376 May 5 21:52 a.out

"a.out" dosyası "mvl" kullanıcısı ve "mvl" grubuna aittir. Sahibi için "okuma/yazma/yürütme" izinlerine ve grup ve diğerleri için "okuma/yürütme" izinlerine sahip normal bir dosyadır.

İzin bayraklarının ikili ve sekizli gösterimi aşağıdaki tabloyla anlaşılabilir:

Sekizli Rakamİkili Gösterim (rwx)İzin
0000hiçbiri
1001sadece yürüt
2010sadece yaz
3011yaz ve çalıştır
4100sadece okunabilir
5101oku ve yürüt
6110oku ve yaz
7111okuma, yazma ve yürütme (tam izinler)

chmod() Fonksiyonu

chmod() fonksiyonu belirtilen bir dosyanın izinlerini değiştirebilir. Başarılı olduğunda true, başarısız olduğunda false döndürür.
chmod(string $filename, int $permissions): bool

chmod() fonksiyonu belirtilen dosyanın ( $filename ) modunu izinlerde verilen moda değiştirmeye çalışır.

İkinci parametre $permissions, dört sekizli basamağa sahip sekizli bir sayıdır. İlk basamak her zaman sıfırdır, ikinci basamak sahibi için izinleri, üçüncü basamak sahibinin kullanıcı grubunu ve dördüncü basamak da diğer herkesi belirtir. Her basamak her izin türü için değerlerin toplamıdır.

1Yürütme İzni
2Yazma İzni
4Okuma İzni

$permissions parametrelerinin varsayılan değeri 0777'dir, bu da dizinin yürütme, yazma ve okuma izinlerinin etkinleştirilerek oluşturulduğu anlamına gelir.

Örnek

Aşağıdaki örneğe bir göz atın.

PHP:
<?php

   // Read and write for owner, nothing for everybody else
   chmod("/PhpProject/sample.txt", 0600);

   // Read and write for owner, read for everybody else
   chmod("/PhpProject/sample.txt", 0644);

   // Everything for owner, read and execute for everybody else
   chmod("/PhpProject/sample.txt", 0755);

   // Everything for owner, read for owner's group
   chmod("/PhpProject/sample.txt", 0740);
?>

chown() Fonksiyonu

chown() fonksiyonu filename dosyasının sahibini yeni bir kullanıcıya değiştirmeye çalışır. Sadece süper kullanıcının bir dosyanın sahibini değiştirebileceğini unutmayın.
chown(string $filename, string|int $user): bool

Örnek

Aşağıdaki örneğe bir göz atın.

PHP:
<?php

   // File name and username to use
   $file_name= "index.php";
   $path = "/PhpProject/backup: " . $file_name ;
   $user_name = "root";

   // Set the user
   chown($path, $user_name);

   // Check the result
   $stat = stat($path);
   print_r(posix_getpwuid(fileowner($path)));
?>

chgrp() Fonksiyonu

chgrp() fonksiyonu filename adlı dosyanın grubunu group olarak değiştirmeye çalışır.

chgrp(string $filename, string|int $group): bool

Yalnızca bir süper kullanıcı bir dosyanın grubunu keyfi olarak değiştirebilir; diğer kullanıcılar bir dosyanın grubunu, o kullanıcının üyesi olduğu herhangi bir grupla değiştirebilir.

Örnek

Aşağıdaki örneğe bir göz atın.

PHP:
<?php
   $filename = "/PhpProject/sample.txt";
   $format = "%s's Group ID @ %s: %d\n";
   printf($format, $filename, date('r'), filegroup($filename));
   chgrp($filename, "admin");
   clearstatcache();      // do not cache filegroup() results
   printf($format, $filename, date('r'), filegroup($filename));
?>

Aşağıdaki çıktıyı üretecektir:

/PhpProject/sample.txt's Group ID @ Fri, 13 Oct 2023 07:42:21 +0200: 0
/PhpProject/sample.txt's Group ID @ Fri, 13 Oct 2023 07:42:21 +0200: 0
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst