V. 8.6.1 (27.01.2012)

Infos

Download

Theorie PHP

Schnellsuche

PHP - Befehle - Dateisystem

1. Dateirechte unter Unix-Systemen

Unix-Systeme kennen drei Berechtigungsstufen, den Besitzer, die Gruppe, den schäbigen Rest. Wenn ihr also mit folgenden Befehlen arbeitet, denkt immer daran, dass ihr über die notwendigen Rechte verfügt. Ein einfaches Beispiel: wenn man Daten per FTP-Programm auf den Webserver hochlädt, so heißt der Besitzer ftpuser, wenn ihr dann mit PHP auf diese Dateien zugreift, so mit den Rechten des Users wwwrun.

2. opendir, closedir, chdir, readdir

opendir öffnet ein ausgewähltes Verzeichnis und setzt einen "Zeiger", mit dem weitere Operationen möglich sind. closedir schließt das Verzeichnis. Mit chdir springt man in ein anderes Verzeichnis und readdir liest die Dateien im ausgewählten Verzeichnis aus.


<?php
  $open 
opendir ('bla/');
  
closedir ($open);
  
chdir ('blubb');
  while (
$file readdir ($open))
  {
    echo 
$file.'<br>';
  }
?>

3. chmod, umask

chmod ändert die Zugriffsrechte für Ordner und Dateien. Allerdings nur diejenigen, für die das Script die entsprechenden Rechte hat. Gibt im Erfolgsfall true zurück. umask passt die aktuellen Zugriffsrechte an oder gibt sie zurück.


<?php
  
// Legt für alle User volle Zugriffsrechte fest
  
$mod chmod ('bla/blubber.gif'0777);

  
// Bei Problemen mit Dateiuploads vollbringt dies wahre Wunder
  
$mask umask (0);
?>

4. copy

Kopiert eine Datei von A nach B und gibt im Erfolgsfall True zurück.


<?php
  $copy 
copy ('bla/blubber.gif''blubb/blubber.gif');
?>

5. fopen, fclose

fopen öffnet eine Datei, wenn die entsprechenden Rechte vorhanden sind. fclose schließt sie wieder.

Parameter für fopen


<?php
  $file 
fopen ('bla/blubber.txt''r')
?>

6. fgets, fwrite

fgets liest eine Zeile innerhalb einer Datei aus. Die Aktion wird am Zeilenende abgebrochen. Dafür muss die Datei vorher mit fopen geöffnet werden. fwrite schreibt Zeichenketten in die Datei.


<?php
  
while ($line fgets ($open))
  {
    echo 
$line.'<br>';
  }

  
$write fwrite ($open,'blubb blubber');
?>

7. is_wasweissichnicht

Nimmt Überprüfungen im Dateisystem vor. Dabei gibt es folgende Funktionen.


<?php
  
if (is_writeable ('blubb.txt'))
?>

8. file_exists

Überprüft, ob eine Datei existiert.


<?php
  
if (file_exists ('blubber.txt'))
?>

9. filesize

Gibt die Größe einer Datei in Byte zurück. Allerdings muss man über das lokale Dateisystem darauf zugreifen können.


<?php
  $size 
filesize ('blubb.txt');
?>

10. file_get_contents, file_put_contents

Ist seit PHP 4.3 verfügbar. Dabei kann man Dateien in einem Rutsch auslesen oder in sie hineinschreiben.


<?php
  $str 
file_get_contents ('blubb.txt');
  
file_put_contents ('blubber.txt'$str);
?>