Heim  >  Artikel  >  Backend-Entwicklung  >  php chmod()-Funktion und Batch-Änderung der Dateiverzeichnisberechtigungen

php chmod()-Funktion und Batch-Änderung der Dateiverzeichnisberechtigungen

怪我咯
怪我咯Original
2017-07-10 16:25:186756Durchsuche

chmod()-Funktion ändert den Dateimodus. chmod – Ändert den Dateimodus. Gibt bei Erfolg TRUE zurück, andernfalls FALSE.

Syntax

chmod(file,mode)


Parameter Beschreibung
Datei Erforderlich. Gibt die zu prüfenden Dokumente an.
Modus
参数 描述
file 必需。规定要检查的文件。
mode

可选。规定新的权限。

mode 参数由 4 个数字组成:

  • 第一个数字永远是 0

  • 第二个数字规定所有者的权限

  • 第二个数字规定所有者所属的用户组的权限

  • 第四个数字规定其他所有人的权限

可能的值(如需设置多个权限,请对下面的数字进行总计):

  • 1 - 执行权限

  • 2 - 写权限

  • 4 - 读权限

Optional. Geben Sie neue Berechtigungen an.


Der Modusparameter besteht aus 4 Zahlen:

  • Die erste Zahl ist immer 0

  • Die zweite Zahl gibt die Berechtigungen des Besitzers an
  • <?php 
    chmod("/somedir/somefile", 755); // 十进制数,可能不对 
    chmod("/somedir/somefile", "u+rwx,go+rx"); // 字符串,不对 
    chmod("/somedir/somefile", 0755); // 八进制数,正确的 mode 值 
    ?>
    Die zweite Zahl gibt die Berechtigungen der Benutzergruppe an, zu der der Besitzer gehört

  • Die vierte Zahl gibt die Berechtigungen für alle anderen an

Mögliche Werte (um mehrere Berechtigungen festzulegen, addieren Sie die Zahlen unten):
  • 1 – Ausführungsberechtigung

  • <?php 
    function chmodr($path, $filemode) { 
    if (!is_dir($path)) 
    return chmod($path, $filemode); 
    $dh = opendir($path); 
    while (($file = readdir($dh)) !== false) { 
    if($file != &#39;.&#39; && $file != &#39;..&#39;) { 
    $fullpath = $path.&#39;/&#39;.$file; 
    if(is_link($fullpath)) 
    return FALSE; 
    elseif(!is_dir($fullpath) && !chmod($fullpath, $filemode)) 
    return FALSE; 
    elseif(!chmodr($fullpath, $filemode)) 
    return FALSE; 
    } 
    } 
    closedir($dh); 
    if(chmod($path, $filemode)) 
    return TRUE; 
    else 
    return FALSE; 
    } 
    ?>
    2 – Schreibberechtigung


  • 4 - Leseberechtigung
  • <?php 
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathname), RecursiveIteratorIterator::SELF_FIRST); 
    foreach($iterator as $item) { 
    chmod($item, $filemode); 
    } 
    ?>


    Der Code lautet wie folgt folgt:

    Verbesserter rekursiver Dateimodus @ infosoft...., das ist eine kleine Abkürzung, die alle Dateitypen des Linux Dateisystems verarbeiten sollte. Dadurch können die Berechtigungen von Dateien oder Verzeichnissen stapelweise geändert werden Der Code lautet wie folgt: Wenn Sie zu viele Verzeichnisse haben, können Sie verwenden Der Code lautet wie folgt: Dieser Code wird verwendet, um die Berechtigungen des Verzeichnisses zu ändern

    Das obige ist der detaillierte Inhalt vonphp chmod()-Funktion und Batch-Änderung der Dateiverzeichnisberechtigungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn