php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.12.2004, 13:51  
Gast
 
Beiträge: n/a
Standard Alle Zeilen lesen?

Hallo.
Ich habe folgendes Script geschrieben, um eine Datei eunzulesen und ihren Inhalt auszugeben. Mein Problem ist nun, dass mit fgets nur die erste Zeile der Datei gelesen wird und der Inhalt wird auch nicht ausgegeben.
Ich gehe davon aus, dass man nicht weiß, wie lang die Datei ist, die gelesen wird, da sich der Inhalt verändert. Wie kann ich PHP dazu bringen, die komplette Datei zu lesen und auch auszuegeben? Habe schon bei phpfriend.de und php.net gesucht, aber nichts gefunden, was mir hilft.

Code:
<?php // file: testing file for file-operations / Author: dejot / date: 28-12-04
	
	// Datei wird mit "http://dejot.dyndns.org/php_2/files.php?flnb=1" aufgerufen
	
	$file = array();
	$file['1'] = "index.txt";

	$tmp = fopen($file[$_GET['flnb']], "r");
	$filedata = fgets($tmp);
	$filelength = strlen($filedata);
	echo "Die Datei ".$file[$_GET['flnb']]." ist ".$filelength." Zeichen lang und ihr Inhalt ist: ".$filedata."\n";
?>
hier noch der direkte Link zur Testdatei (auf meinem Rechner):
http://dejot.dyndns.org/php_2/files.php?flnb=1

Dejot
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.12.2004, 13:53  
Gast
 
Beiträge: n/a
Standard

Da du es ja anscheinend nicht hinbekommst, in der Doku nachzusehen, kommt hier die Doku zu dir:

fgets
(PHP 3, PHP 4 , PHP 5)

fgets -- Liest eine Zeile von der Position des Dateizeigers
Beschreibung
string fgets ( resource handle [, int length])

Gibt eine Zeile bis zu length -1 Bytes Länge zurück, welche aus der Datei von der aktuellen Position des Dateizeigers handle aus ausgelesen wird. Die Zeile endet an einem Zeilenumbruch (welcher im Rückgabewert enthalten ist), EOF (Ende der Datei) oder bei length - 1 Bytes (je nachdem, was eher auftritt). Ist keine Länge angegeben, wird diese auf 1k bzw. 1024 Bytes gesetzt.


Das findet man unter http://de.php.net/manual/de/function.fgets.php inkl. Beispielen.

Gruß
phpfan
 
Alt 28.12.2004, 13:55  
Gast
 
Beiträge: n/a
Standard

so weit war ich auch schon -.- deshalb wüsste ich ja gerne, wie ich die komplette Datei lesen kann, weil ich eine passende Funktion in der Doku nicht gefunden habe.
 
Alt 28.12.2004, 13:58  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dejot
so weit war ich auch schon -.- deshalb wüsste ich ja gerne, wie ich die komplette Datei lesen kann, weil ich eine passende Funktion in der Doku nicht gefunden habe.
Sorry, aber ich habe schon besser gelacht. Bei fgets gibt es sogar ein Beispiel und wenn man schon mal bei den Filefunktionen in der Doku ist, dann könnte man ja einfach mal nachsehen, was es sonst noch für Funktionen gibt, oder? Da findet man nämlich z.B. http://de.php.net/manual/de/function.file.php

Gruß
phpfan
 
Alt 28.12.2004, 14:00  
Gast
 
Beiträge: n/a
Standard

Ist doch was. Danke. War das schwer?
Anscheinend für mich. Tut mir Leid, dass ich Anfänger bin. Hab die Funktion einfach nciht gesehen
Bloß nicht zu freundlich
Nochmal Danke.
 
Alt 28.12.2004, 14:05  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von dejot
Ist doch was. Danke. War das schwer?
Nein, war es nicht.
Zitat:
Zitat von dejot
Tut mir Leid, dass ich Anfänger bin.
Das war jeder mal.
Zitat:
Zitat von dejot
Bloß nicht zu freundlich
Damit musst du leben. Wenn man bemerkt, dass sich der Fragenstellende nicht mit der Doku beschäftig hat, dann kommen halt solche Reaktionen. Ein Forum ist kein Ersatz für die Doku und es nervt ein wenig, wenn regelmäßig Fragen kommen, die man mit "siehe Doku" beantworten kann.

Gruß
phpfan
 
Alt 28.12.2004, 14:07  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von phpfan
Damit musst du leben. Wenn man bemerkt, dass sich der Fragenstellende nicht mit der Doku beschäftig hat, dann kommen halt solche Reaktionen. Ein Forum ist kein Ersatz für die Doku und es nervt ein wenig, wenn regelmäßig Fragen kommen, die man mit "siehe Doku" beantworten kann.
Hai! Habs einfach nicht gefunden. Ab jetzt wälze ich erst stundenlang die Doku, bevor ich frage ^^
 
Alt 28.12.2004, 14:20  
Gast
 
Beiträge: n/a
Standard

Ne das Problem ist Phpfan zustimmtz, dass es sich dann n #3 so anhört, als ob du da shcon geguckt hättest, alle *so weit war ich auch schon*

Aber anbei: Brauchst dich natrülich nicht endshculdigen,d ass du ein phpNoob [Anfänger] bist ! Dann bräcuhten wir ja alle kein Forum hier, ´wa ?

Also, guten Rutsch ins Neue Jahr !
 
Alt 28.12.2004, 14:42  
Gast
 
Beiträge: n/a
Standard

juchu, funktioniert wunderbar.

Code:
<?php // file: testing file for file-operations / Author: dejot / date: 28-12-04
	
	// Datei wird mit "http://dejot.dyndns.org/php_2/files.php?flnb=1" aufgerufen
	
	$file = array();
	$file['1'] = "index.txt";

	// $tmp = fopen($file[$_GET['flnb']], "r");
	$filedata = array();
	$filedata = file($file[$_GET['flnb']]);
	echo "<h3>File: ".$file[$_GET['flnb']]."</h3>\n";
	foreach($filedata as $lineno => $line)
		{
			echo "#<span style=\"font-weight:bold;color:navy;\">{$lineno}</span>  " . htmlspecialchars($line) . "
\n";
		}
		?>
http://dejot.dyndns.org/php_2/files.php?flnb=1

//edit: auch nen guten Rutsch dir und allen die dies hier lesen ^^
//edit2: toll, jetzt habe ich mit eurer Hilfe doch glatt nen filelister gebastelt. Sogar externe html-files funzen. Nochmal danke. Das hilft mir sehr weiter.
Code:
<?php // file: testing file for file-operations / Author: dejot / date: 28-12-04
	
	// Datei wird mit "http://dejot.dyndns.org/php_2/files.php?flnb=1" aufgerufen
	// filelister: "http://dejot.dyndns.org/php_2/files.php?file=http://www.phpfriend.de"
	
	if(isset($_GET['file']))
		{
			$var = $_GET['file'];
			$_GET['flnb'] = 0;
		}
	
	$file = array();
	$file['0'] = $var;
	$file['1'] = "index.txt";
	$file['2'] = "index.php";

	// $tmp = fopen($file[$_GET['flnb']], "r");
	$filedata = array();
	$filedata = file($file[$_GET['flnb']]);
	echo "<h3>File: ".$file[$_GET['flnb']]."</h3>\n";
	foreach($filedata as $lineno => $line)
		{
			echo "#<span style=\"font-weight:bold;color:navy;\">{$lineno}</span>  " . htmlspecialchars($line) . "
\n";
		}
?>
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellen kopieren ohne bestimmte Zeilen HaraDej Datenbanken 2 01.08.2007 15:49
Sql Updates mehrer Zeilen Fr33z3m4n PHP Tipps 2006 7 10.02.2006 09:07
Zeilen heruasfinden?! PHP Tipps 2007 4 02.12.2005 16:53
Leere Zeilen löschen Datenbanken 4 22.07.2005 13:19
[Erledigt] MySQL Zeilen lassen sich nicht kategorisieren Datenbanken 3 24.05.2005 01:15
zeilen lesen/zählen PHP Tipps 2005 10 20.05.2005 23:15
Datenausgabe in 2 Spalten und mehrere Zeilen mediaindesign Datenbanken 8 27.03.2005 09:13
[Erledigt] Wei ersten n Zeilen von eMail-Body auslesen?? PHP-Fortgeschrittene 3 30.01.2005 17:22
[Erledigt] Doppelte zeilen löschen Datenbanken 8 06.12.2004 17:17
wieviel zeilen in einer csv Ohrwurm83 PHP Tipps 2004 1 30.10.2004 00:40
mehrere Zeilen updaten Unbekanntes_Pferd Datenbanken 2 15.10.2004 11:06
[Erledigt] 0 Zeilen werden zurückgegeben Datenbanken 5 21.08.2004 01:13
Zeilen eines Arrays prüfen PHP Tipps 2004 2 13.08.2004 13:14
Zeilen auslesn und speichern PHP Tipps 2004 9 14.07.2004 15:41
mehrere zeilen aus *.txt verschieden-farbig auslesen PHP Tipps 2004 3 30.06.2004 21:50

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php fil (-1bytes)

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.