|
|
|
|
|
|
|
huecker.com # Grundlagen der Programmierung.
--
|
. PHP L e k t i o n e n ( Wed Dec 11 08:22:03 2024 ) .
06 . Dateien.
PHP eröffnet eine Fülle von Möglichkeiten, um Dateien zu nutzen. Dazu zählen unter anderem: - Dateien anlegen, öffnen, schreiben, schließen, Inhalt ausgeben, benötigte Informationen über eine Datei abfragen, wie etwa den Eigentümer, - und so weiter.
|
. Datei: - erzeugen, öffnen, schreiben, lesen, schließen, löschen .
|
<?
$path = "/home/www/pub/fh1000/huecker.com/msw/php/samples/arc";
$file = "$path/foo.dat";
if ( file_exists ( $path ) == 0 ) { mkdir ( $path, 0777 ); }; // Verzeichnis anlegen.
if ( file_exists ( $file ) == 0 ) { touch ( $file ); }; // leere Datei anlegen.
$fp = fopen ( $file, "w+" ); // Datei öffnen.
fwrite ( $fp, "Erste Zeile\n" ); // . schreiben
fputs ( $fp, "Zweite Zeile\n" ); // . schreiben
fwrite ( $fp, "Dritte Zeile\n" ); // . schreiben
fclose ( $fp ); // Datei schließen.
if ( $fp = fopen ( $file, "r" ) ) {
while ( !feof ( $fp ) ) {
$line = fgets ( $fp, 4096 );
echo ( "<br> $line" ); // zeilenweise Ausgabe.
};
};
fclose ( $fp ); // Datei schließen.
unlink ( $file ); // Datei löschen.
?>
|
Die Funktion . file_exists() . prüft die Existenz einer Datei.
Soll zudem geprüft werden, ob Lese- und/oder Schreibrechte ( reguläre Datei ) existieren,
müssen die Funktionen . is_file() . oder . is_readable() . und . is_writable . verwendet werden.
|
Testen ( . Syntax Dateiname: name.php, - bspw. file.php ! . )
|
|
--
. Zugriffsrechte unter Unix .
|
Owner
|
Group
|
Public
|
r
|
w
|
x
|
r
|
w
|
x
|
r
|
w
|
x
|
400
|
200
|
100
|
40
|
20
|
10
|
4
|
2
|
1
|
Legende: r = lesen, w = schreiben, x = ausführen.
|
. Beispiel zu den Zugriffsrechten unter Unix .
chmod 0764 ( Owner = 700 = rwx | Group = 60 = rw- | Public = 4 = r-- )
|
--
Schalter zum Öffnen einer Text-Datei: r = Lesen, - Zeiger auf Anfang; r+ = Lesen, Schreiben, - Zeiger auf Anfang; w = Schreiben, - Zeiger auf Anfang, Länge auf 0 Byte; w+ = Lesen, Schreiben, - Zeiger auf Anfang, Länge auf 0 Byte; a = Schreiben, - Zeiger an das Ende; a+ = Lesen, Schreiben, - Zeiger an das Ende.
- Falls w(+) und a(+) verwendet werden und die Datei noch nicht existiert, wird sie angelegt.
--
|
|
. Informationen über Dateien .
|
<?
$path = "/home/www/pub/fh1000/huecker.com/msw/php/samples/arc";
$file = "$path/foo.dat";
if ( file_exists ( $path ) == 0 ) { mkdir ( $path, 0777 ); }; // Verzeichnis anlegen.
if ( file_exists ( $file ) == 0 ) { touch ( $file ); }; // leere Datei anlegen.
$fp = fopen ( $file, "w+" ); // Datei öffnen mit mode 'w+'.
fwrite ( $fp, "Inhalt, Inhalt\n" );
fclose ( $fp ); // Datei schließen.
echo ( "<center>" );
echo ( "<br>Owner: " . fileowner ( $file ) ); // Eigentümer
echo ( " | Group: " . filegroup ( $file ) ); // Gruppe
echo ( " | Perms: " . fileperms ( $file ) ); // Rechte
echo ( "<br>Filetime: " . filemtime ( $file ) ); // Letzte Änderung
echo ( " | Filesize: " . filesize ( $file ) ); // Größe der Datei
echo ( "</center>" );
unlink ( $file );
?>
|
Die PHP-Funktionen zum Dateisystem werden insbesondere für das Datei-Management (Pflege des Datenbestandes) benötigt, wenn
etwa veraltete Dateien entfernt und/oder nur neuere Dateien aktualisiert, gesichert oder angezeigt werden sollen.
|
Testen ( . Syntax Dateiname: name.php, - bspw. perms.php ! . )
|
|
. Zugriffe auf eine Website zählen .
|
<?
$path = "/home/www/pub/fh1000/huecker.com/msw/php/samples/arc";
$file = "$path/counter.dat";
if ( file_exists ( $path ) == 0 ) { mkdir ( $path, 0777 ); };
if ( file_exists ( $file ) == 0 ) { touch ( $file ); };
$count = @file ( $file ); // Inhalt von file lesen, - in Array speichern.
$state = $count[0]; // Status einlesen.
++$state; // Zähler um eins erhöhen.
$fp = fopen ( $file, "w" );
@fwrite ( $fp, $state ); // counter.dat aktualisieren.
fclose ( $fp );
echo ( "Sie sind der $state. Besucher dieser Website. | <a href=\"counter.php\">Reload</a>" );
?>
|
Die Verwendung dieses Counters auf einer Website ist mindestens ebenso sinnvoll wie die Aussage: - der Mond sei für den Menschen bedeutsamer als die Sonne, da das Licht in der Nacht, wie durchaus allgemein bekannt, dringender benötigt werde.
|
Testen ( . Syntax Dateiname: name.php, - bspw. counter.php ! . )
|
Ergänzend zu den Funktionen für das Dateimanagement . Zugriff - Input, Output .
können in der PHP-Umgebung auch
Unix-/Linux-Befehle genutzt werden, die teilweise schneller und zuverlässiger zum Ziel
führen als manche PHP-Funktionen.
|
|
|
|
Der Inhalt dieser Seite wurde am 31.08.2024 um 13.34 Uhr aktualisiert.
huecker dot com * Germany | Datenschutz
© 1999, 2024 Franz-Josef Hücker. All Rights Reserved. |
|
|
|