Avatar billede thefff Nybegynder
03. januar 2005 - 16:32 Der er 15 kommentarer

data in og ud af .txt file

hey
hvordan tager jeg data fra an .txt file som opstillingen er fx

jens numsemand IP:212.23.22.88-212.23.22.95

FFF
Avatar billede thefff Nybegynder
03. januar 2005 - 16:33 #1
p.s jens numsemand og IP:212.23.22.88-212.23.22.95 skal være 2 ting
Avatar billede coderdk Praktikant
03. januar 2005 - 16:35 #2
Jeg er ikke helt med på hvad du vil?
Avatar billede jakoba Nybegynder
03. januar 2005 - 16:41 #3
bogstavsekvensen  " IP:"  ligner noget stabilt man kan lede efter.

så hvad med:

$linie = freads( $filpeger, 1024 );
echo $linie ."<br>";                    // DEBUG LINIE. fjernes når det duer
$lin_array = explode( $linie, " IP:" );
$navnet = $lin_array[0];
echo $navnet ."<br>";                    // DEBUG LINIE. fjernes når det duer
$ip_range = $lin_array[1];
echo $ip_range ."<br>";                  // DEBUG LINIE. fjernes når det duer

mvh JakobA
Avatar billede jakoba Nybegynder
03. januar 2005 - 16:43 #4
Ups parametrene til explode er i forkert rækkefølge. Det skal være:
$lin_array = explode( " IP:", $linie );
Avatar billede coderdk Praktikant
03. januar 2005 - 16:48 #5
Hvad med:

<?php

    $cont = file_get_contents( "liste.txt" );
    if ( preg_match_all( "/^(.*?) IP:(.*?)\-(.*?)$/im", $cont, $matches ) )
    {
        $names = $matches[1];
        $start = $matches[2];
        $end = $matches[3];

        $n = count( $names );
        for ( $i = 0; $i < $n; $i++ )
        {
            echo "Navn: $names[$i] Start: $start[$i] End: $end[$i]<br>";
        }
    }

?>
Avatar billede thefff Nybegynder
03. januar 2005 - 16:58 #6
Kommentar: coderdk
03/01-2005 16:35:54 Jeg er ikke helt med på hvad du vil?

lave et ip ban system

p.s din code virker ikke :(
Avatar billede coderdk Praktikant
03. januar 2005 - 17:31 #7
theff, det virker her ;) Får du fejl?

Min liste.txt ser sådan ud:

1jksahdfjkas df ip:1324423-12314
2jksahdfjk asdf ip:2324423-212314
3jksahdfjka sdf ip:324423-312314
4jksahd fjkasdf ip:4324423-412314
5jksah dfjkasdf ip:5324423-512314
6jk sahdfjkasdf ip:6324423-612314

(ja det er volapyk, men det er jo princippet)
Avatar billede thefff Nybegynder
03. januar 2005 - 17:32 #8
ikke nogen tal men ellers rigtig får ingen fejl


FFF
Avatar billede coderdk Praktikant
03. januar 2005 - 17:37 #9
Prøv lige:

<?php

    $cont = file_get_contents( "liste.txt" );
    if ( preg_match_all( "/^(.*?) IP:(.*?)\-(.*?)$/im", $cont, $matches ) )
    {
        $names = $matches[1];
        $start = $matches[2];
        $end = $matches[3];

        $n = count( $names );
        for ( $i = 0; $i < $n; $i++ )
        {
            echo "Navn: $names[$i] Start: $start[$i] End: $end[$i]<br>";
        }
    }
    else
    {
      echo "Fandt intet der matchede...";
    }

?>

Kan vi se de første par linjer i din fil?
Avatar billede thefff Nybegynder
03. januar 2005 - 17:46 #10
weee den virker nu :)kan du osse fortælle mig hvordan jeg smider dem i en aray og banner dem

FFF
Avatar billede coderdk Praktikant
03. januar 2005 - 17:52 #11
Mjoh :) Præcist hvordan mener du? ;)
Avatar billede thefff Nybegynder
03. januar 2005 - 17:56 #12
hvordan sætter jeg dem i et array fx

$banned = array();
ip
ip ip

if($serverblablaIaddres = $banned)
{
exit(),
}
Avatar billede coderdk Praktikant
03. januar 2005 - 18:04 #13
heheh ja ok, det er jo en større operation :P Men ok, her er den enkle version:

<?php

    $cont = file_get_contents( "liste.txt" );
    if ( preg_match_all( "/^(.*?) IP:(.*?)\-(.*?)$/im", $cont, $matches ) )
    {
        $start = $matches[2];
        $end = $matches[3];
        $antal = count( $start );
        $checkip = ip2long( $_SERVER['REMOTE_ADDR'] );
        for ( $i = 0; $i < $antal; $i++ )
        {
            $start[ $i ] = ip2long( $start[ $i ] );
            if ( $start[ $i ] >= $checkip )
            {
                $end[ $i ] = ip2long( $end[ $i ] );
                if ( $end > $checkip )
                {
                    break; // Han er ikke bannet
                }
                elseif ( $end <= $checkip )
                {
                    die( "Din IP-adresse er banned!" );
                }
            }
        }
    }
    else
    {
      echo "Advarsel! Fejl ved læsning af ban-fil!";
    }

?>
Avatar billede thefff Nybegynder
03. januar 2005 - 20:26 #14
er det bare mig der ikke kan acceptere


FFF som trykker på accepter
Avatar billede coderdk Praktikant
03. januar 2005 - 23:43 #15
Eh? :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester