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

Main
Home
Fachbuecher
Support Board
Webmaster News
Script Newsletter
Kontakt
Script Installation
Php
Php Tutorials
Impressum

Userbereich
kostenlos Anmelden
Memberliste
Login

Script Datenbank
Script Übersicht
Script eintragen
Script Top 20

Suche

 
Script Seite

Unsere Php Scripts
Counter Script
Umfrage Script
Bilder Upload Script
Terminverwaltung

Script Mods
phpBB Adsense Mode

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

Hosterplus.de
Bekommen Sie Webspace, Domains und Rootserver m..


clichehosting..
Webhoster mit recht einfachen Angeboten.


weitere Anbieter

RSS Webmaster Newsfeed von Php Space RSS Webmaster Newsfeed
RSS Script Newsfeed von Php Space RSS Script Newsfeed

Statistik
8 Gäste Online
0 Member Online
346 Besucher heute

 

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 ?