php, codeschnipsel, php beispielen
PHP fopen - Dateihandling mit PHP, Dateien einlesen und Dateien schreiben
Hypertext Preprocessor

Navigation
Home
Fachbücher
Support Forum
Webmaster News
Script Newsletter
Kontakt
Script Installation
Php
Php Tutorials
Impressum

Userbereich
kostenlos Anmelden
Memberliste

Script Datenbank
Script Archiv
Script Top 20
Screenshots
Testberichte

Suche

 
Script Seite

Unsere Php Scripts
Counter Script
Umfrage Script
Bilder Upload Script
Terminverwaltung
Simple PHP Forum
RSS Grabber

Script Mods
phpBB Adsense Mode

Tools und Generatoren
.htpasswd Generator
md5 Generator
base64 Generator
ICQ Generator
Colorpicker
Unix timestamp Tool
TLD Liste
Webkatalog Verzeichnis

luminea.de
Bei den Anbieter bekommt man über 106 unterschiedl...

Evanzo.de
Ein Anbieter wo man Domains, Linux Webhosting, Win...

weitere Anbieter
PHP Space Community auf Facebook PHP Space Community auf Twitter RSS Feeds der PHP Space Community

 

Statistik
11 Gäste Online
0 Member Online
625 Besucher heute
1825 Besucher gestern
 

Dateihandling mit PHP

Sie befinden sich: Home > Php > Dateihandling mit PHP

Um Dateien mit PHP einlesen zu können benötig man zunächst ein sogenanntes "dateihandle", was im Grunde genommen nichts anderes als eine allgemein definierte PHP Variable darstellt.

 1 <?php
 2 $handle 
fopen("c:/testdatei.txt","r"); 
 3
/*  an dieser Stelle wird das handle erzeugt 
 4     und mit der Funktion fopen() praktisch mit 
 5     der Datei testdatei.txt zum Lesen verknüpft
 6 */
 7
fclose ($handle); 
 8
/*  löst das handle von der Datei 
 9     und gibt sie somit wieder frei 
10 */
11
$dataname="testdatei_2.txt";
12
$handle_2=fopen($dataname,"r"); 
13
/*  versucht die in der Variablen 
14     $dataname angegeben Datei zu öffnen
15 */
16
fclose($handle_2);
17
?>

Das zweite Argument, im oben angeführten Beispiel "r", sagt aus wie die Datei geöffnet werden soll.

"r" zum lesen öffnen
"r+" zum lesen und schreiben öffnen
"w" zum schreiben öffnen leert die Datei
"w+" zum schreiben und lesen öffnen leert die Datei
"a" Datei zum Anhängen öffnen,hierbei wird der Dateizeiger ans Ende gesetzt wenn die Datei nicht existiert wird sie angelegt.
"a+" wie "a" jedoch kann auch gelesen werden

Um in der geöffneten Datei schreiben und lesen zu können kommen folgende Befehle zur Anwendung:

$var = fread ( handle, lenght ); liest eine durch lenght bestimme menge Zeichen ein.
$var = fscanf ( handle , mixed string , variables ); liest eine Zeichenkette formatiert aus.
$var =fgetc ( handle ); liest das nächste Zeichen in der Datei ein
$var = fgets ( handle , lenght ); liest eine Zeichenkette mit maximal lenght Zeichen ein, wird häufig verwendet um in Textdateien zeilenweise zu lesen, da ein EOL ( End Of Line ) als Abbruchkriterium gilt.
fwrite ( handle , content ); schreibt die in content definierte Zeichenkette in die Datei. content kann auch eine Variable sein.
fseek ( handle , offset , where ); wird verwendet um den Datenzeiger an eine bestimmte Stelle in der Datei zu setzen.
$var = ftell ( handle ); übergibt die aktuelle Position des Dateizeigers bezogen auf den Dateianfang an $var.
feof( handle ); mit dieser Funktion kann der Zustand des Handles überprüft werden

Im folgenden Beispiel werden alle oben angeführten Funktionen außer feof() sowie fgetc () verwendet.

 1 <?php
 2
// Dateien mit PHP einlesen 
 3
$filename "test.txt";
 4
$somecontent "Dieser Text geht in die Datei";
 5
 6
// prüft vor jedem anderen befehl ob die Datei schreibbar ist
 7
if (is_writable($filename)) {
 8     
// im Folgenden wird die Datei im append 
 9     // mode ( Anhängemodus ) geöffnet
10     // der Dateizeiger wird automatisch ans 
11     // Ende der Datei gesetzt, wo dann
12     // durch den Befehl fwrite () der Inhalt 
13     // der Variablen $somecontent geschrieben wird
14     
if (!$handle fopen($filename"a")) {
15         echo 
"kann die Datei ($filename) nicht öffnen";
16         exit;
17     }
18
19     
// schreibt den Inhalt von $somecontent in die Datei
20     
if (fwrite($handle$somecontent) === FALSE) {
21         echo 
"kann nicht in die Datei ($filename) schreiben";
22         exit;
23     }
24     echo 
"Erfolg, habe ($somecontent) in die 
Datei ($filename) geschrieben"
;
25
26     
// Ermittelt die aktuelle Position des 
27     // Dateizeigers und gibt diese aus 
28     
$position=ftell($handle);
29
30     echo 
"Der Dateizeiger steht 
aktuell an der Stelle ($position)"

31
32     
// setzt den Dateizeiger an die Anfangsposition der Datei
33     
fseek($handle,0);
34
35     
// liest die erste Zeile aus und zeigt sie an
36     
$buffer fgets($handle4096);
37     echo 
$buffer;
38
39 } else {
40     echo 
"Die Datei $filename ist nicht schreibbar";
41 }
42
fclose($handle);
43
?>

Um ganze Dateien in PHP einlesen zu können kann man auch die Funktion fread() verwenden wie folgendes kleines Beispiel deutlicht macht.

 1 <?php
 2
// schreibt den kompletten Inhalt er Datei als 
 3 // String in die Variable $contents
 4 // zu beachten ist das die Variable $filename 
 5 // nicht nur den Dateinamen sondern einen 
 6 // kompletten Pfad enthält. Dieser sollte bei 
 7 // kritischen Dateioperationen immer vom 
 8 // Stammverzeichnis aus angegeben sein. 
 9
10
$filename "/usr/local/something.txt";
11
$handle fopen($filename"r");
12
$contents fread($handlefilesize($filename));
13
fclose($handle);
14
?> 



weiter Die Funktion date() in PHP

Was ist PHP ?