PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP]Datei auslesen, zählen, ausgeben...


Gast
2005-04-07, 17:18:10
Hallo.
Ich versuche verzweiflt eine PHP-Script zu erstellen, die eine Datei "1.txt" öffnet, diese nach dem Buchstaben "a" durchsucht, die gefundenen Ergebnisse zählt und diese Zahl in eine Datei "2.txt" schreibt :D

Das geht nicht: ...
<?php
$fn="1.txt";
$fp=fopen($fn, "r");
$news=fgets($fn, 10000000000);
fclose($fp);
$result = array("a");
$var=count($result);
$fp=fopen("2.txt", "w+");
fwrite($fp, $var);
fclose($fp);
?>

littlejam
2005-04-07, 20:46:02
Hallo.
Ich versuche verzweiflt eine PHP-Script zu erstellen, die eine Datei "1.txt" öffnet, diese nach dem Buchstaben "a" durchsucht, die gefundenen Ergebnisse zählt und diese Zahl in eine Datei "2.txt" schreibt :D

Das geht nicht: ...
<?php
$fn="1.txt";
$fp=fopen($fn, "r");
$news=fgets($fn, 10000000000);
fclose($fp);
$result = array("a");
$var=count($result);
$fp=fopen("2.txt", "w+");
fwrite($fp, $var);
fclose($fp);
?>
Jo das geht nich :redface:
Zuerst würde ich nicht versuchen 10GB auf einmal einzulesen, die Datei könnte kleiner sein (mögl. Fehlerquelle), genau so groß (Serverperformance) oder gar größer (falsches Ergebnis).
Ab fclose wird immer falscher.
Wenn bei dir kein Fehler auftaucht müsste immer 1 in der Datei stehen.

Irgendwie wirkt das auf mich wie irgendwelche Funktionen zusammengewürfelt und nicht drüber nachgedacht.

Tip: Wie zählst du selber denn Buchstaben? Liest du auch die komplette Seite oder jeden Buchstaben einzeln?

Gruß

Gast
2005-04-07, 20:48:06
Is auch zusammengewürfelt, weil ich kein php Experte bin und mir nur denke was ich will und dann beie php.net nach ner Funktion suche... Und ja es kommt immer 1 raus :D
Also die PS-Frage versteh ich net, aber der soll ne Seite ebend nach a's durchsuchen und mir die Anzahl sagen :D

littlejam
2005-04-07, 22:01:11
php.net ist schon gut :D da findest du alles was du brauchst.

Der Tip war schon so gemeint wie er da steht ;) ich weiß ja nicht, ob das ne Hausaufgabe ist.
Bau das Programm so wie du es als Mensch lösen würdest. Du schaust ja nicht auf ne Buchseite und sagst wieviel "a"s drauf sind. Ich zumindest schaue jeden Buchstaben an und zähle dann weiter wenn ich ein a gefunden habe.
fgets() ist dafür nicht gut geeignet, probier fgetc().
Ich weiß nicht, ob da absichtlich Schleifen und Bedingungen fehlen, falls ja dann klickmich (http://www.php.net/manual/de/language.control-structures.php).

Gruß

Gast
2005-04-08, 07:11:01
Nö is keine Hausaufgabe. Ist ne kleine Freizeitaktivität, aber ich will mich damit auch nicht zu sehr beschäftigen, da ich das irgendwann mal professioneller lernen will und mir nicht schon unbedingt soviel Müll aneignen will :D
Ok. Ich probier das mal mit dem fgetc(). ;)