IP des Besuchers einer Website speichern

moonboy

Grünschnabel
Hallo

Ich suche schon ca. eine Woche lang nach einer Lösung und hoffe das ich sie hier bekomme!


Also:

Ich würde gerne auf meiner Website Die IP jedes Besuchers in einer .TXT Datei auf meinem PC speichern, hab aber leider keine ahnung von php oder so.

Ich habs schon mit diesem code probiert aber das geht leider nicht!

Code:

<?php
if (!files_exists("visitors.txt")) {
$iFileHandler = fopen("visitors.txt", "w");
} else {
$iFileHandler = fopen("visitors.txt", "a");
}

fputs($iFileHandler, $_SERVER['REMOTE_ADDR']."@"
.gethostbyaddr($_SERVER['REMOTE_ADDR'])."\r\n");

fclose($iFleHandler);
?>



BITTE helft mir!
 
Code:
<?php
if (!file_exists("visitors.txt")) {
$iFileHandler = fopen("visitors.txt", "w");
} else {
$iFileHandler = fopen("visitors.txt", "a");
}

fputs($iFileHandler, $_SERVER['REMOTE_ADDR']."@"
.gethostbyaddr($_SERVER['REMOTE_ADDR'])."\r\n");

fclose($iFileHandler);
?>

Wenn man die zwei (Tipp-?)Fehler beseitigt, sollte es eigentlich so gehen. Entsprechende Schreibrechte vorausgesetzt.
 
danke, und wenn du mir jetzt noch sagst wie das ganze auf eine website und die dann ins web krieg dann bin ich wunschlos Glücklich

!:) :) :-) :eek: ;-) :p ;)
 
Nenn deine Datei z.B. index.php

Und dann pack das einfach ganz am Anfang deines HTML Dokumentes:
PHP:
<?php
if (!file_exists("visitors.txt")) {
    $iFileHandler = fopen("visitors.txt", "w");
} else {
    $iFileHandler = fopen("visitors.txt", "a");
}

fputs($iFileHandler, sprintf("%s@%s\r\n",
                             $_SERVER['REMOTE_ADDR'],
                             gethostbyaddr($_SERVER['REMOTE_ADDR'])
                            ));

fclose($iFileHandler);
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
    <!-- usw... -->
Wenn es ne Fehlermeldung gibt, dann lad einfach mal eine leere Datei na- mens visitors.txt in das Verzeichnis, in dem auch deine index.php liegt.
 
Kann mir jemand den Sinn hiervon erklären:
PHP:
if (!file_exists("visitors.txt")) { 
    $iFileHandler = fopen("visitors.txt", "w"); 
} else { 
    $iFileHandler = fopen("visitors.txt", "a"); 
}
Wenn die Datei nicht existiert und ich sie dennoch im Modus "a" öffne, wird doch versucht sie anzulegen. Warum dann noch der Umweg über file_exists()

mfg, snuu
 
Wenn es die Datei visitors.txt nicht gibt, soll sie erstellt und geöffnet werden (das "w")
Ist sie vorhanden soll sie nur geöffnet werden ("a")
 
Ich kann die Frage von snuu verstehen :-)

$iFileHandler = fopen("visitors.txt", "a+");


statt der If Abfrage tut das gleiche :-)

(man beachte das + hinter dem a == legt ne datei an wenn nicht vorhanden
ansonsten hänge die Daten hinten dran

Nachtrag:
Matthias Reitinger hat natürlich Recht - das kommt davon wenn man ne Antwort aus dem Kopf
postet ohne nochmal bei der PHP Referenz vorbeischaut - da hauts dann doch Flüchtigkeitsfehler rein
 
Zuletzt bearbeitet:
Original geschrieben von melmager
Ich kann die Frage von snuu verstehen :-)

$iFileHandler = fopen("visitors.txt", "a+");


statt der If Abfrage tut das gleiche :-)

(man beachte das + hinter dem a == legt ne datei an wenn nicht vorhanden
ansonsten hänge die Daten hinten dran

Auch nicht ganz korrekt. Das "a" bedeutet: Datei zum Schreiben öffnen, Dateizeiger an das Ende der Datei, wenn Datei nicht existiert, erstellen. Das "+" bedeutet: Zusätzlich auch zum Lesen öffnen.

Ein einfaches
PHP:
$iFileHandler = fopen("visitors.txt", "a");
sollte es hier also genau so tun :) Hab das wohl beim ersten überfliegen übersehen. Funktioniert hats ja trotzdem ;)
 
Zurück