CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
09.12.2003, 18:55:58
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Gesamte Datei öffnen
Ich habe eine txt-Datei, die ich mittels $datei=fopen("datei.txt", "r+") öffne. Jetzt möchte ich mir die gesamte Datei ausgeben lassen. Mit fgets() geht es ja leider nicht, da ich dort entweder eine Länge angeben muss, die mir aber nicht bekannt ist, oder aber ich lasse mir die Datei bis zum ersten Zeilenumbruch anzeigen, was genauso schlecht für mich ist, da diese Datei zig Zeilenumbrüche hat.
Vielleicht weiß da ja jemand weiter?!
|
09.12.2003, 19:43:07
|
Junior Member
|
|
Registriert seit: Aug 2003
Ort: Fürstenau (Uckermark, Land Brandenburg)
Beiträge: 259
|
|
Hi xabbuh,
PHP-Code:
$fp = fopen('./datei.txt', 'r');
$str = fread($fp, filesize('./datei.txt'));
fclose ($fp);
/** oder **/
$str = implode('', file('./datei.txt'));
Geändert von René_M (10.12.2003 um 19:11:26 Uhr)
|
09.12.2003, 20:21:48
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Wunderbar! Genauso sollte das funktionieren. Danke!
|
10.12.2003, 18:29:34
|
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 287
|
|
Zitat:
Original geschrieben von René_M
PHP-Code:
$fp = fopen('./datei.txt', 'r+');
$str = fread($fp, filesize('./datei.txt'));
fclose ($fp);
|
Der Modus ist hier falsch gewählt! "r+" bedeutet, dass die Datei zum Lesen und schreiben geöffnet wird, und nicht binär. Zum Auslesen des Dateiinhalts sollte sie jedoch nur zum Lesen und binär geöffnet werden. Desweiteren kann man sich './' vor dem Dateinamen sparen.
PHP-Code:
$file = 'datei.txt';
$fp = fopen($file,'rb');
$filecontent = fread($fp,filesize($file));
fclose($fp);
|
10.12.2003, 19:10:29
|
Junior Member
|
|
Registriert seit: Aug 2003
Ort: Fürstenau (Uckermark, Land Brandenburg)
Beiträge: 259
|
|
@sourcecode,
eine Textdatei ist keine Binardatei also wenn dann nur "r" und das "./" ist aufkeinen Fall falsch.
|
10.12.2003, 19:14:57
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
Hi @ll
So ich muss da auch mal den Senf dazu geben.
Binäre darüber kann man sich streiten, wobei es in diesem Fall nicht notwendig ist.
Zu der Pfadangabe:
Man sollte wenn geht den Absoluten Pfad dazu angeben, so hat man kein Problem, wenn die Datei in der diese Funktion steht, ned in der selben Datei ebene ist.
Aber generell sag ich einmal, man sollte den ./ schon angeben, sonst kann es zu leichtern Problemen kommen.
|
11.12.2003, 17:48:22
|
Junior Member
|
|
Registriert seit: May 2003
Beiträge: 287
|
|
Welche Probleme können denn dabei auftreten, wenn man './' nicht verwendet? Bei mir funktioniert es eben auch ohne das, und deshalb finde ich es überflüssig. Und zum binären Öffnen der Datei: Ist es denn systembelastender, wenn sie binär geöffnet wird? Ansonsten ist das doch immer gut, weil dann die Datei original ausgelesen wird, wie sie wirklich ist.
|
11.12.2003, 17:54:13
|
|
Anfänger
|
|
Registriert seit: Dec 2003
Ort: Peine / Germany
Beiträge: 62
|
|
Das b macht nur Sinn wenn das Script auf einen Windows Server läuft. Auf einem Linux/Unix Server hat dieses keinen Effekt.
Es ist weder schonender, noch belastender wenn man eine Datei binär öffnet. Allein die interne Verarbeitung ändert sich.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 18:00:39 Uhr.
|