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
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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
03. januar 2005 - 16:35
#2
Jeg er ikke helt med på hvad du vil?
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
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 );
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>"; } } ?>
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 :(
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)
03. januar 2005 - 17:32
#8
ikke nogen tal men ellers rigtig får ingen fejl FFF
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?
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
03. januar 2005 - 17:52
#11
Mjoh :) Præcist hvordan mener du? ;)
03. januar 2005 - 17:56
#12
hvordan sætter jeg dem i et array fx $banned = array(); ip ip ip if($serverblablaIaddres = $banned) { exit(), }
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!"; } ?>
03. januar 2005 - 20:26
#14
er det bare mig der ikke kan acceptere FFF som trykker på accepter
03. januar 2005 - 23:43
#15
Eh? :)
Vi tilbyder markedets bedste kurser inden for webudvikling