tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
867
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    srpcool srpcool ist offline Mitglied
    Registriert seit
    Jun 2003
    Beiträge
    12
    Hi,
    folgender Code soll IPs aus einer Textdatei auslesen () und wenn sie mit der IP des aktuellen Benutzers übereinstimmt in eine Schleife springen ( nicht).
    Findet vielleicht jemand den Fehler?
    PHP-Code:
    <?php
    $z 
    0;
    $ih = array();
    $ip=getenv("REMOTE_ADDR");
    echo 
    "$ip <br><br>";
    $fp fopen("datei.txt","r");
    flock($fp,2);
    if (
    $fp)  {
       while (!
    feof($fp))  {    
       
    $ih[$z] = fgets($fp100);
       echo 
    "$ih[$z] <br>"
          if (
    $ih[$z] == $ip)  {    //HIER ist das Problem        
          
    echo "Treffer";
          
    flock($fp,3);                    
          
    fclose($fp);
          }
       
    $z $z 1;
          }
    fclose($fp);
    }
    else {echo 
    "Datei wurde nicht gefunden";}
    ?>
    Das Script funktioniert bis auf diesen Vergleich. In der Textdatei müssen die IPs untereinander stehen, ohne Leerzeichen am Ende o.ä.
    Getestet hab ich es auf einem lokalen Apache 1.3.x Server. Durch getenv("REMOTE_ADDR"); bekam ich as meine IP die 127.0.0.1 geliefert. Diese in die Textdatei kopieren hat leider nicht dazu geführt, dass das Script in die Abzweigung gegangen ist.
     

  2. #2
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    liegt warscheinlich daran das die Function fgets auch das Zeichen
    -CR- am Zeilenende mit einliest und somit ist es nicht gleich
    der Remote_addr.

    $ip=getenv("REMOTE_ADDR")."\n";
    .....
    if ($ih[$z] == $ip)

    versuch mal die Version
     

  3. #3
    hohoho hohoho ist offline Mitglied Silber
    Registriert seit
    Mar 2002
    Beiträge
    77
    das ganze kannst du auch etwas einfacher haben
    PHP-Code:
    <?
    $ip 
    getenv("REMOTE_ADDR");
    $ih file("datei.txt");
    if(
    $ih) {
      if(
    in_array($ip$ih)) {
        echo 
    "Treffer!":
      }
    } else {
      echo 
    "Datei wurde nicht gefunden";
    }
    ?>
     
    Bei regelwiedrigem Inhalt dieses Posts berufe ich mich auf den §20 StGB

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 05.07.10, 16:30
  2. Inhalt der Textdatei ändern
    Von schiese im Forum PHP
    Antworten: 5
    Letzter Beitrag: 19.07.06, 13:55
  3. Antworten: 2
    Letzter Beitrag: 13.07.06, 00:31
  4. Antworten: 0
    Letzter Beitrag: 23.01.05, 01:26
  5. Vergleich Inhalt zweier Dateien
    Von schokoriese im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 2
    Letzter Beitrag: 21.12.03, 23:00