Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Melodie dance veche

RIP Shifty Shellshock

Daca nu ar conta salariul, ce mes...

Racordare la apa termosemineu
 Mi-am luat 4x4 si vreau sa-l testez

Recomandare laptop cu luminozitat...

Cautarea pe google android nu merge

Caut serviciu serios de captura v...
 Frauda magazin online

AC Woods Venezia Smart - nu races...

podea ciment denivelata

Îndepartare bule folie reflectoriz...
 Revista imobiliara cu poze... cir...

Recomandare soundbar pentru laptop

Veți renunța in 2025 la...

Coaxial pentru cablare casa
 

Numerotare IP-uri

- - - - -
  • Please log in to reply
13 replies to this topic

#1
Takeshy

Takeshy

    Active Member

  • Grup: Members
  • Posts: 1,705
  • Înscris: 04.03.2005
Am un script (php) prin care imi ia IP-urile vizitatorilor si impreuna cu data le pune intr-un fisier text pe cate un rand. Eu vreau sa-mi noteze fiecare IP luat si la inceputul randului sa numeroteze 1,2,3...
Daca e acelasi IP sa-l numeroteze in continuare.

<?php
$ip = getenv ( "REMOTE_ADDR" );
$data_intrare = date('d-m-Y H:i:s');

$ft = fopen("ipuri.txt","ab");
$text = $data_intrare. $ip ."\r\n";
fwrite($ft,$text);
fclose($ft);
?>

Cine ma ajuta si pe mine cu numerotarea acesta? Cum as putea face?

Mersi

#2
Bruzli

Bruzli

    Junior Member

  • Grup: Members
  • Posts: 137
  • Înscris: 08.11.2005
vrei ceva de genul:
1. 192.168.0.6
2. 192.168.0.3
3. 192.168.0.6
sau
2 192.168.0.6
1 192.168.0.3

Ma refer vrei sa numerotezi de cate ori apare acel ip, sau doar sa faci o lista cu ele?

#3
danic

danic

    Active Member

  • Grup: Banned
  • Posts: 1,551
  • Înscris: 02.03.2004
Nu am inteles exact problema.

#4
danic

danic

    Active Member

  • Grup: Banned
  • Posts: 1,551
  • Înscris: 02.03.2004
-- A se sterge. --

Edited by danic, 17 November 2005 - 10:03.


#5
Takeshy

Takeshy

    Active Member

  • Grup: Members
  • Posts: 1,705
  • Înscris: 04.03.2005
Vreau ceva de genul

1. 192.168.0.6
2. 192.168.0.3
3. 192.168.0.6

#6
crack

crack

    Member

  • Grup: Members
  • Posts: 370
  • Înscris: 24.06.2004
Uite aici scriptul:
<?php
$ip = getenv ( "REMOTE_ADDR" );
$data_intrare = date('d-m-Y H:i:s');

$ft = fopen("ipuri.txt","a+");
$nr .= @fread($ft,filesize("ipuri.txt"));
$numar = explode("\r\n",$nr);
$asd= count($numar);
$text =$asd . " " . $data_intrare ." ". $ip . "\r\n";
fwrite($ft,$text);
fclose($ft);
?>

Este testat si merge .

Toate cele bune si spor la treaba  :peacefingers:

#7
Takeshy

Takeshy

    Active Member

  • Grup: Members
  • Posts: 1,705
  • Înscris: 04.03.2005
Merge mersi dar pe mine nu ma intereseaza numerotarea randurilor din fisier ci numerotarea intrarilor.
De exemplu daca eu am in fis text pe primul rand ceva de genul: "Ipuri" ca titlu, urmatorul rand va fi 2 dar de fapt il vreau 1 deoarece e prima intrare si primul ip

#8
Astor

Astor

    Senior Member

  • Grup: Senior Members
  • Posts: 2,044
  • Înscris: 17.01.2003
Takeshy, ai probleme grave de exprimare si probabil logica. Formuleaza explicit problema, nu sta nimeni sa ti-o ghiceasca.

#9
Takeshy

Takeshy

    Active Member

  • Grup: Members
  • Posts: 1,705
  • Înscris: 04.03.2005
Pentru cei mai grei de cap
Ceea ce mi-a dat @crack si ii multumsc imi numeroteaza randurile din fisier (ipuri.txt) dar daca am ceva de genul:

Ipuri
2. 192.168.0.6
3. 192.168.0.3
4. 192.168.0.6


Ipuri are luat 1
Eu vreau numerotarea doar a intrarilor de IP
Ceva de genul


Ipuri:
1. 192.168.0.6
2. 192.168.0.3
3. 192.168.0.6


Pricepi acuma?

#10
crack

crack

    Member

  • Grup: Members
  • Posts: 370
  • Înscris: 24.06.2004
<?php
$ip = getenv ( "REMOTE_ADDR" );
$data_intrare = date('d-m-Y H:i:s');

$ft = fopen("ipuri.txt","a+");
$nr .= @fread($ft,filesize("ipuri.txt"));
$numar = explode("\r\n#",$nr);
$asd= count($numar);
$text ="#".$asd . " " . $data_intrare ." ". $ip . "\r\n";
fwrite($ft,$text);
fclose($ft);
?>

Deci vei avea un # (sau ce caracter vrei tu) pus in fata la randul cu IP.
Alta solutie nu gasesc pe moment.

#11
Bruzli

Bruzli

    Junior Member

  • Grup: Members
  • Posts: 137
  • Înscris: 08.11.2005
Atunci cel mai simplu ar fi sa tii un contor intr-un alt fisier text, ca sa stii unde esti.

#12
danic

danic

    Active Member

  • Grup: Banned
  • Posts: 1,551
  • Înscris: 02.03.2004
<?php
$ip = getenv ( "REMOTE_ADDR" );
$data_intrare = date('d-m-Y H:i:s');

$ft = fopen("ipuri.txt","a+");
$nr .= @fread($ft,filesize("ipuri.txt"));
$numar = explode("\r\n#",$nr);
$asd= count($numar);

//adaugat
$total_count = 0;
$idx = 0;
for ($idx=0; $idx<$asd; i++){
  if (preg_match("/[0-9]+]\.\ \[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}]/", $numar[$idx]))
	 $total_count++;
}
//sfarsit adaugat

$text = $total_count . " ". $ip . "\r\n";
fwrite($ft,$text);
fclose($ft);
?>
Nu l-am testat. Cred ca ar merge.
Consider ca liniile in fisier sunt in formatul dat de tine:
1. 192.168.10.1
2. 192.168.10.1
3. 192.168.10.1
(nu contin data - daca vrei si data, va trebui sa modifici expresia regulata).

Codul nu e nici pe departe optim.

Later edit: @Takeshy, si mie mi-a trebuit o vreme sa inteleg ce vrei de fapt :)

Numai bine!

Edited by danic, 17 November 2005 - 16:15.


#13
Takeshy

Takeshy

    Active Member

  • Grup: Members
  • Posts: 1,705
  • Înscris: 04.03.2005
Mersi pentru ajutor in mare am rezolvat.

PS: Cred ca pare mai usor de inteles cand stii despre ce e vorba :D

Topic Closed

#14
Astor

Astor

    Senior Member

  • Grup: Senior Members
  • Posts: 2,044
  • Înscris: 17.01.2003

View PostTakeshy, on Nov 18 2005, 12:00, said:

PS: Cred ca pare mai usor de inteles cand stii despre ce e vorba :D
Nu, dar cum spunea profesorul meu de fizica de liceu, 90% din rezolvarea unei probleme o reprezinta formularea ei. Majoritatea thread-urilor ramase fara raspuns au fost prost formulate/exprimate. Daca ar fi clare, chiar si niste intrebari banale si-ar gasi pana la urma raspunsul, mai exista si oameni care raspuns la astfel de banalitati. Extrem de putine sunt situatiile in care nu stie nimeni o solutie, cine are intrebari atat de "grele" nu le cauta raspunsul pe forumuri gen Softpedia.

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate