<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.filesystem.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.fileperms.php',
    1 => 'fileperms',
    2 => 'Liefert die Zugriffsrechte einer Datei',
  ),
  'up' => 
  array (
    0 => 'ref.filesystem.php',
    1 => 'Dateisystem',
  ),
  'prev' => 
  array (
    0 => 'function.fileowner.php',
    1 => 'fileowner',
  ),
  'next' => 
  array (
    0 => 'function.filesize.php',
    1 => 'filesize',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/filesystem/functions/fileperms.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.fileperms" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">fileperms</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">fileperms</span> &mdash; <span class="dc-title">Liefert die Zugriffsrechte einer Datei</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.fileperms-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>fileperms</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$filename</code></span>): <span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>

  <p class="para rdfs-comment">
   Gibt die Zugriffsrechte für die übergebene Datei zurück.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.fileperms-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">filename</code></dt>
     <dd>
      <p class="para">
       Der Pfad zur Datei.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.fileperms-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt die Zugriffsrechte einer Datei als numerischen Modus zurück. Die
   niedrigen Bits dieses Modus sind die gleichen wie die Zugriffsrechte, die
   <span class="function"><a href="function.chmod.php" class="function">chmod()</a></span> erwartet, allerdings beinhaltet der Rückgabewert
   auf den meisten Plattformen ebenfalls Informationen über den Typ der Datei,
   die als <code class="parameter">filename</code> angegeben wurde. Die Beispiele weiter
   unten demonstrieren wie der Rückgabewert auf spezifische Zugriffsrechte und
   Dateitypen auf POSIX-Systemen einschließlich Linux und macOS geprüft
   werden kann.
  </p>
  <p class="para">
   Für lokale Dateien wird der spezifische <code class="literal">st_mode</code>-Wert der
   C-Struktur verwendet, die von der Funktion <span class="function"><a href="function.stat.php" class="function">stat()</a></span>
   zurückgegeben wird. Die betroffenen Bits können sich je nach Plattform
   ändern und wenn es erforderlich ist, Bits des Rückgabewertes zu
   analysieren, die nicht die Zugriffsrechte betreffen, wird empfohlen, in der
   Dokumentation der jeweiligen Plattform nachzuschlagen.
  </p>
  <p class="para">
   Gibt bei einem Fehler <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurück.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.fileperms-errors">
  <h3 class="title">Fehler/Exceptions</h3>
  <p class="para">
Im Fehlerfall wird eine <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> ausgegeben.
</p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.fileperms-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Zeige die Zugriffsrechte als Oktalwert an</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">'%o'</span><span style="color: #007700">, </span><span style="color: #0000BB">fileperms</span><span style="color: #007700">(</span><span style="color: #DD0000">'/tmp'</span><span style="color: #007700">)), -</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">'%o'</span><span style="color: #007700">, </span><span style="color: #0000BB">fileperms</span><span style="color: #007700">(</span><span style="color: #DD0000">'/etc/passwd'</span><span style="color: #007700">)), -</span><span style="color: #0000BB">4</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">1777
0644</pre>
</div>
    </div>
   </div>
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Zeige die kompletten Zugriffsrechte an</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$perms </span><span style="color: #007700">= </span><span style="color: #0000BB">fileperms</span><span style="color: #007700">(</span><span style="color: #DD0000">'/etc/passwd'</span><span style="color: #007700">);<br /><br />switch (</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0xF000</span><span style="color: #007700">) {<br />    case </span><span style="color: #0000BB">0xC000</span><span style="color: #007700">: </span><span style="color: #FF8000">// Socket<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'s'</span><span style="color: #007700">;<br />        break;<br />    case </span><span style="color: #0000BB">0xA000</span><span style="color: #007700">: </span><span style="color: #FF8000">// Symbolischer Link<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'l'</span><span style="color: #007700">;<br />        break;<br />    case </span><span style="color: #0000BB">0x8000</span><span style="color: #007700">: </span><span style="color: #FF8000">// Regulär<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'r'</span><span style="color: #007700">;<br />        break;<br />    case </span><span style="color: #0000BB">0x6000</span><span style="color: #007700">: </span><span style="color: #FF8000">// Block special<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'b'</span><span style="color: #007700">;<br />        break;<br />    case </span><span style="color: #0000BB">0x4000</span><span style="color: #007700">: </span><span style="color: #FF8000">// Verzeichnis<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'d'</span><span style="color: #007700">;<br />        break;<br />    case </span><span style="color: #0000BB">0x2000</span><span style="color: #007700">: </span><span style="color: #FF8000">// Character special<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'c'</span><span style="color: #007700">;<br />        break;<br />    case </span><span style="color: #0000BB">0x1000</span><span style="color: #007700">: </span><span style="color: #FF8000">// FIFO pipe<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'p'</span><span style="color: #007700">;<br />        break;<br />    default: </span><span style="color: #FF8000">// unbekannt<br />        </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #DD0000">'u'</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// Besitzer<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0100</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'r' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0080</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'w' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0040</span><span style="color: #007700">) ?<br />            ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0800</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'s' </span><span style="color: #007700">: </span><span style="color: #DD0000">'x' </span><span style="color: #007700">) :<br />            ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0800</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'S' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Gruppe<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0020</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'r' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0010</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'w' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0008</span><span style="color: #007700">) ?<br />            ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0400</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'s' </span><span style="color: #007700">: </span><span style="color: #DD0000">'x' </span><span style="color: #007700">) :<br />            ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0400</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'S' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">));<br /><br /></span><span style="color: #FF8000">// Andere<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0004</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'r' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0002</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'w' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$info </span><span style="color: #007700">.= ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0001</span><span style="color: #007700">) ?<br />            ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0200</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'t' </span><span style="color: #007700">: </span><span style="color: #DD0000">'x' </span><span style="color: #007700">) :<br />            ((</span><span style="color: #0000BB">$perms </span><span style="color: #007700">&amp; </span><span style="color: #0000BB">0x0200</span><span style="color: #007700">) ? </span><span style="color: #DD0000">'T' </span><span style="color: #007700">: </span><span style="color: #DD0000">'-'</span><span style="color: #007700">));<br /><br />echo </span><span style="color: #0000BB">$info</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
    <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">-rw-r--r--</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.fileperms-notes">
  <h3 class="title">Anmerkungen</h3>
  <blockquote class="note"><p><strong class="note">Hinweis</strong>: <span class="simpara">Die Ergebnisse dieser Funktion
werden zwischengespeichert. Weitere Details sind bei
<span class="function"><a href="function.clearstatcache.php" class="function">clearstatcache()</a></span> zu finden.</span></p></blockquote>
  <div class="tip"><strong class="tip">Tipp</strong><p class="simpara">Seit PHP 5.0.0 kann diese
Funktion mit <em>einigen</em> URL-Wrappern benutzt werden. Schauen
Sie in der Liste unter <a href="wrappers.php" class="xref">Unterst&uuml;tzte Protokolle und Wrapper</a> nach, welcher Wrapper die
Funktionalität von <span class="function"><a href="function.stat.php" class="function">stat()</a></span> unterstützt.</p></div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.fileperms-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.chmod.php" class="function" rel="rdfs-seeAlso">chmod()</a> - &Auml;ndert den Modus f&uuml;r die Zugriffsrechte einer Datei</span></li>
    <li><span class="function"><a href="function.is-readable.php" class="function" rel="rdfs-seeAlso">is_readable()</a> - Pr&uuml;ft, ob eine Datei existiert und lesbar ist</span></li>
    <li><span class="function"><a href="function.stat.php" class="function" rel="rdfs-seeAlso">stat()</a> - Sammelt Informationen &uuml;ber eine Datei</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>