php textdatei auslesen

05/04/2015 23:32 Waller66#1
hallo ich suche nach einer methode womit ich von einer textdatei immer genau eine spezifische zeile ausgelesen bekomme und dann ein counter +1 gerechnet wird so dass beim nächsten aufrufen halt die nächste zeile ausgeben wird. wäre nett wenn ihr mir da weiter helfen könntet, kenne mich mit php kaum aus.

schon mal danke im vorraus
05/04/2015 23:59 Analysis'#2
Brauchst eigentlich nur folgendes:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

Wenn du nur eine bestimmte Zeile auslesen willst dann etwa so:
PHP Code:
<?php
$zeile 
1;
$array file('test.txt');
echo 
$array[$zeile];
?>
05/05/2015 01:17 BlackTrader#3
Quote:
Originally Posted by Analysis' View Post
PHP Code:
<?php
$zeile 
1;
$array file('test.txt');
echo 
$array[$zeile];
?>
In deinem Beispiel wird die komplette Datei in den RAM geladen, was bei größeren Dateien eher schlecht ist ...

Falls du mit größeren Dateien arbeitest (> 5MB würd ich sagen), dann schau dir die Funktionen mal an:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
05/05/2015 06:55 Waller66#4
jo die dateien sind über 10 megabyte das würde mega traffic sonst kosten
mit dem counter ist das leichter mit ner anderen txt datei als mysql oder ?
05/05/2015 14:42 Analysis'#5
Warum nicht einfach eine neue txt Datei anlegen? mit MySQL geht das natürlich auch. Wenn du gerade erst anfängst zu lernen würde ich dir direkt PDO empfehlen:
[Only registered and activated users can see links. Click Here To Register...]
05/08/2015 16:16 Waller66#6
PHP Code:
<?
    
function readLine ($linenum,$fh) {
        
$line fgets ($fh4096);
        
$pos = -1;
        
$i 0;

        while (!
feof($fh) && $i<($linenum-1)) {
            
$char fgetc($fh);
            if (
$char != "\n" && $char != "\r") {
                
fseek($fh$posSEEK_SET);
                
$pos ++;
            }
            else 
$i ++;
        }
        
$line fgets($fh);
        return 
$line;
    } 
//readLine()

wie muss ich das aufrufen um die ort der datei zu setzen wie gesagt php noob :handsdown:
no ne frage, wie kann ich ne neue zeile schreiben lassen ?

code workt aber halt ohne neue zeile :(