SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 17.06.2004, 22:53:51
LudwigB LudwigB ist offline
Anfänger
 
Registriert seit: May 2004
Beiträge: 10
Datei einlesen und weiterverarbeiten

Hallo,

ich arbeite an einem php-script, bei dem eine Datei Zeile für Zeile eingelesen wird, bei Übereinstimmung eines Eintrags, soll ein anderer string aus dieser Zeile für eine weitere Berechnung ausgelesen werden.
Konkret wird aus einem anderen script (mit POST) eine Variable übertragen (input1 und input2 - die beiden werden auch korrekt übertragen). In der "datei.txt" befinden sich ca. 10000 Zeilen (mit jeweils 8 getrennten Werten pro Zeile).
Mein script sollte nun folgendes machen: die Variable $input1 (wurde eingegeben und wird auch korrekt übertragen, das hab ich schon getestet) soll mit den Einträgen verglichen werden und bei Übereinstimmung sollen zwei weitere Werte aus der Zeile für die weitere Verarbeitung im php-script bereitgestellt werde. (für $input2 dasselbe nochmal. Leider funktioniert es so nicht. Die Datei wird zwar korrekt eingelesen (und ich kann mir auch die Variablen z.B. von buffer[3] anzeigen lassen, aber der Vergleich funktioniert nicht, bekomme ich keine Variablen $x1, $y1,... (und den passenden Eintrag gibt es, also $input == $buffer[3] müsste er finden).
Wahrscheinlich ist es ein einfacher Anfängerfehler, aber ich finde keine Lösung dafür. Ich bin für jede Hilfe dankbar.

PHP-Code:
//datei einlesen 
$handle fopen ("datei.txt""rb"); 

// zeile für zeile einlesen 
   
while (!feof ($handle)) { 
$buffer fgets($handle4096); 
$buffer explode("t"$buffer); 
$buffer[0]; 
$buffer[1]; 
$buffer[2]; 
$buffer[3]; 
$buffer[4]; 
$buffer[5]; 
$buffer[6]; 
$buffer[7]; 

      if (
$input1 == $buffer[3])  {  $x1=$buffer[1] ; 
$y1=$buffer[2] ; } 

       
     if (
$input2 == $buffer[3])  { $x1=$buffer[1]; 
$y2=$buffer[2];} 
                    } 
Mit Zitat antworten
  #2  
Alt 18.06.2004, 00:10:22
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
schau dir mal file() an...damit sollte der schleifdurchlauf etwas simpler werden.

zweitens:

was soll

$buffer[0];

$buffer[1];

$buffer[2];

$buffer[3];

$buffer[4];

$buffer[5];

$buffer[6];

$buffer[7];

???

drittens:

if( !$input1 || !$input2 )
die( "input1 oder input2 ist leer" );

if ( $buffer[3] == $input1 ) {
$x1=$buffer[1] ;
$y1=$buffer[2] ;
echo "eins";
} elseif ( $buffer[3] == $input2 ) {
$x1=$buffer[1];
$y2=$buffer[2];
echo "zwei";
}

mach das mal bitte so...aber ohne die dateistruktur zu sehen, ist das sehr schwer...poste doch mal 10 zeilen...
Mit Zitat antworten
  #3  
Alt 18.06.2004, 00:48:18
LudwigB LudwigB ist offline
Anfänger
 
Registriert seit: May 2004
Beiträge: 10
Hallo,

Danke mal für die Antwort, ich poste hier kurz die Dateistruktur, den Rest mache ich morgen - muss früh raus.

Derzeit interessieren mich nur der zweite, dritte und vierte Eintrag. Also bei übereinstimmung (von $input1) mit 'Name1a' sollen 148 als Variable x1 und 1 als Variable y1 verwendet werden; bei 'Name1f' dann wären es 3 und 2, usw. (Die anderen Einträge in der Datei sind - vorerst- ohne Bedeutung für mich, werden evtl. später mal genutzt)


148 148 1 'Name1a' 1 'Name2a' 'Name3a' 2771
149 149 1 'Name1b' 1 'Name2b' 'Name3b' 3823
150 150 1 'Name1c' 1 'Name2c' 'Name3c' 2506
151 1 2 'Name1d' 2 'Name2d' 'Name3d' 97
152 2 2 'Name1e' 2 'Name2e' 'Name3e' 97
153 3 2 'Name1f' 2 'Name2f' 'Name3f' 97


lg,
Ludwig
Mit Zitat antworten
  #4  
Alt 18.06.2004, 20:02:12
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
es scheint da probleme mit dem tab t zu geben. der trennt die wohl nicht richtig oder sowas...habs jetzt mals so probiert und ich ich die spalten von hand per tab-taste trenne gehts...

PHP-Code:
<?PHP

$vergla        
"'Name1a'";
$verglb        "'Name1b'";

$farr     file"./text.txt" );

foreach( 
$farr as $v ) {

    
$varr     explode("t"$v ); 

    
print_r$varr );
    echo 
"<br>";
    
    if ( 
$varr[3] == $vergla ) {
        
$x1=$varr[1] ;
        
$y1=$varr[2] ;
        } elseif ( 
$varr[3] == $verglb ) {
        
$x1=$varr[1];
        
$y2=$varr[2];
        } 
    
}

echo 
$x1 " und " $y1;;
echo 
"<br>";
echo 
$x2 " und " $y2;

?>
txt-datei sieht so aus:

148 148 1 'Name1a' 1 'Name2a' 'Name3a' 2771
149 149 1 'Name1b' 1 'Name2b' 'Name3b' 3823
150 150 1 'Name1c' 1 'Name2c' 'Name3c' 2506
151 1 2 'Name1d' 2 'Name2d' 'Name3d' 97
152 2 2 'Name1e' 2 'Name2e' 'Name3e' 97
153 3 2 'Name1f' 2 'Name2f' 'Name3f' 97
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:17:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt