php: Dateien

Dateien:

Text Datei ausgeben:

<?php
$textdatei = file_get_contents('text.txt');
echo $textdatei;
?>
Somit wird text.txt ausgegeben.

Text Datei ausgeben:

Damit die Zeilenumbrüche in html Code übersetzt werden, erweitert man die Ausgabe wie folgt.
<?php
$textausgabe = file_get_contents('text.txt');
echo nl2br($textausgabe);
?>
Somit werden auch die Zeilenumbrüche ausgegeben.

Text Datei erstellen:

Möchte man beispielsweise eine per GET übergebene Variable in eine Text-Datei schreiben, geht dies so:
<?php
$name = $_GET["name"];
file_put_contents("beispiel.txt", $name);
?>
Damit wird der übergebene Wert $name in die Datei beispiel.txt geschrieben.
Falls beispiel.txt nicht existiert, wird sie erstellt.
Existiert die Datei bereits, wird der Inhalt überschrieben.

Text an Datei anhängen:

Möchte man eine Datei nicht überschreiben, sondern Wert an die Datei anhängen, so muss man der Funktion file_put_contents() als drittes Argument die Konstante FILE_APPEND übergeben.
<?php
$name = $_GET["name"];
file_put_contents("beispiel.txt", $name, FILE_APPEND);
?>
So wird die Datei nicht überschrieben sondern die Variable wird hinzugefügt.

Ordner erstellen:

In PHP kann man Ordner oder Unterordner erstellen.
$directoryPath = "pfad/zum/verzeichnis/neuerVerzeichnisname";
if (!file_exists($directoryPath)) {
mkdir($directoryPath);
}
Falls das Verzeichnis nicht existiert, wird ein neues Verzeichnis erstellt.

Verzeichnisinhalte ausgeben:

Es können Ordner ausgelesen und die Inhalte ausgegeben werden.
$alledateien = scandir('upload/'); //Ordner "upload" auslesen

foreach ($alledateien as $datei) { // Ausgabeschleife
if($datei =='.' OR $datei == '..' OR $datei == '.htaccess'){
}
else{

echo '<a href="upload/'.$datei.'">'.$datei.'</a>'; //Ausgabe Einzeldatei

}

}
Im Beispiel wird der Ordner upload ausgelesen.
Die Ausgabe wird ein wenig begrenzt damit es keine unnötigen Dateien anzeigt.
Durch eine Schleife werden alle Dateien übereinander angezeigt und direkt mit dem Pfad der Datei verlinkt.
Marc Disch Blog Vefko