Archiv verlassen und diese Seite im Standarddesign anzeigen : in eine datei schreiben..
halloo.
verschiedene http-server wie z.b. www.url-gateway.de bieten die möglichkeit, die adresse, die der besucher in der adresszeile hat, in die logs zu schreiben. http://www.domain.de/dateiname.php
Wie mache ich das mit PHP? So das er das in einer Text-Datei untereinander abspeichert? <?php $requesturi = $_SERVER["REQUEST_URI"]; ?> nur wie schreibe ich den wert in eine extra Text-Datei? Bin schon am rumprobieren. aber klappt net. Das hab ich bisher zusammen. <?php
$textdatei = fopen ("logging.txt","r+");
$requesturi=stripslashes(strip_tags($requesturi));
$undnun="$requesturi";
fwrite($txtdatei, $undnun);
?> aba ich denk ma, ich bin auf nem holzweg, oder? die datei hat aufjedenfall schon mal schreibrechte. wäre über den einen oder anderen rat sehr dankbar.
So?
<?php
$url = "http://". $_SERVER["SERVER_NAME"] .$_SERVER["REQUEST_URI"];
$file = "logging.txt";
$content = file_get_contents($file);
$content = $url ."\n" .$content;
file_put_contents($file, $content);
?>
Wenn man als 3. Parameter der Funktion file_put_contents den Wert FILE_APPEND mitgibt, dann kann man sich das vorherige Auslesen aus der Datei ersparen.
siehe hier: http://de3.php.net/file_put_contents
Halloo,
@ Corvin Gröning, nein leider nicht: ergebnis: Fatal error: Call to undefined function: file_put_contents() in /home/www/test.php on line 7 @ Boothby: danke für den Tipp, aber auslesen möchte ich eigentlich auch nicht. Nur reinschreiben... :D Also müsste das in etwa so aussehen? <?php
$url = "http://". $_SERVER["SERVER_NAME"] .$_SERVER["REQUEST_URI"];
$file = "logging.txt";
file_put_contents($file, $content, FILE_APPEND);
?> geht aber nicht Fatal error: Call to undefined function: file_put_contents() in /home/www/test.php on line 4 ... und so? <?php
$url = "http://". $_SERVER["SERVER_NAME"] .$_SERVER["REQUEST_URI"];
file_put_contents('logging/logging.txt', $url, FILE_APPEND);
?> gehts auch nicht.. Fatal error: Call to undefined function: file_put_contents() in /home/www/test.php on line 3 Aber ich bin sicher, ich mach was falsch :D nur was^^
file_put_contents() gibt es erst ab PHP 5... dein Server hat wohl nur 4.
Schreib es so:
<?php
$url = "http://". $_SERVER["SERVER_NAME"] .$_SERVER["REQUEST_URI"];
$file = "logging.txt";
$content = file_get_contents($file);
$content = $url ."\n" .$content;
$file = fopen($file, "a+");
fwrite($file, $content);
fclose($file);
?>
Hey. :) soso... klar, da hatte ich eben auch was von gelesen.. :D aber nicht drüber nachgedacht. Nunja. So funtioniert es. DANKE! Habe es jetzt aber so abgeändert, damit auch wirklich die Adressezeile des Browsers und nicht der Servername notiert werden. ;) und den Referer gleich noch mit dazu.. <?php
$url = "http://".$_SERVER['HTTP_HOST'] .$_SERVER["REQUEST_URI"] . " - (".$_SERVER['HTTP_REFERER'] .")";
$file = "logging.txt";
$content = file_get_contents($file);
$content = $url ."\n" .$content;
$file = fopen($file, "a+");
fwrite($file, $content);
fclose($file);
?> Ich bin aber fast sicher, das geht auch kürzer^^:rolleyes: und beim einlesen wird wohl immer das, was vorher in der Datei logging.txt drin stand, nochmal mit in die Datei reingeschrieben? kann das sein? :D
Ja weil du wieder den Inhalt der alten Datei ausliest und anschließend mit dem Parameter 'a+' an die alte datei wieder anhängst. Wenn du dir das Auslesen ersparst, dann klappts auch mit dem Nachbarn. ;)
Noch ein Tipp: Für ältere Versionen gibt es noch nicht vorhandene Funktionen in folgendem Pear Package (http://pear.php.net/package/PHP_Compat/download/1.4.0). Lad dir das mal runter. Im Verzeichnis PHP_Compat-1.4.0\Compat\Function gibts die Datei file_put_contents.php. Einfach in dein Projekt kopieren und per include_once () einbinden. Dann hast du auch die Funtion file_put_contents ().
Den Tip werde ich mal ausprobieren. :)
Wenn ich bloss wüsste, wie man das jetzt weglässt^^ <?php
$adresse = "http://".$_SERVER['HTTP_HOST'] .$_SERVER["REQUEST_URI"] . " - (".$_SERVER['HTTP_REFERER'] .")";
$datei = "adresslog.log";
$inhalt = file_get_contents($datei);
$inhalt = $adresse ."\n" .$inhalt;
$datei = fopen($datei, "w");
fwrite($datei, $inhalt);
fclose($datei);
?> so gehts aber auch. :) Ich hab noch ein wenig gedocktert, aber krieg es nicht so richtig hin.
So. ich habe es jetzt ausgearbeitet und bin so ganz zufrieden damit. Jetzt werden auch alle daten geloggt, die ich brauche... :) $adresse = "\nIP: ".$_SERVER['REMOTE_ADDR'] . "\n - Host: http://".$_SERVER['HTTP_HOST'] . "\n - Uri: ".$_SERVER['REQUEST_URI'] . "\n - Port: ".$_SERVER['REMOTE_PORT'] . "\n - Referer: ".$_SERVER['HTTP_REFERER'] . "\n - Protokoll: ".$_SERVER['SERVER_PROTOCOL'] . "\n - Methode: ".$_SERVER['REQUEST_METHOD'] . "\n - Server: ".$_SERVER['SERVER_ADDR'] . "\n";
$datei = "logs.log";
$inhalt = file_get_contents($datei);
$inhalt = $adresse ."\n-------------------------------------\n" .$inhalt;
$datei = fopen($datei, "w");
fwrite($datei, $inhalt);
fclose($datei); Ausgabe in der Textdatei:
IP: 12.345.678.9
- Host: http://domain.de
- Uri: /index.php
- Port: 33942
- Referer: ()
- Protokoll: HTTP/1.1
- Methode: GET
- Server: 12.345.67.890
-------------------------------------
Wenn ich bloss wüsste, wie man das jetzt weglässt
Evtl. so? ;)
<?php
$url = "http://".$_SERVER['HTTP_HOST'] . $_SERVER["REQUEST_URI"] . " - (".$_SERVER['HTTP_REFERER'] .")" . "\n";
$file = "logging.txt";
$fh = @fopen($file, "ab");
if ($fh)
{
fwrite($fh, $url);
fclose($fh);
}
?>
ohja so gehts auch, klar, DANKE .. muss das ja nur wegnehmen.. aber wofür das 'b'? Ist das nicht nur bei Windows sinnvoll? und statt nem a wäre mir das w lieber ;) Dann muss ich nicht scrollen, um zu sehen, wer der letzte war..
So jetzt habe ich die ersten 24 std rum und sieh mal einer an. :confused: 10.08.2005 - 03:08
- IP: 62.103.164.199
- Host:
- Uri:
- Port: 4528
- Protokoll: HTTP/0.9
- Methode: %25%75%30%61%65%62%25%75%62%38%39%30%25%75%61%63%39%37%25%75%37%37%65%34%25%75%30%30%30%30%25%75%30% 30%30%30%25%75%38%33%38%62%25%75%30%30%39%34%25%75%30%30%30%30%25%75%34%30%38%62%25%75%30%35%36%34%2 5%75%30%31%35%30%25%75%30%30%30%30%25%75%65%30%66%66%25%75%39%30%39%30%3D%78%26%90%90%90%90%90%90%90 %90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90%90
------------------------------------- weitere details: Datum, Uhrzeit - 10.08.2005, 03:08:12
IP - 62.103.164.199
Host -
User-Agent -
Browser-Spracheinstellung - nicht vorhanden
Referrer -
JavaScript - nicht aktiviert o. nicht vorhanden
Monitor-Auflösung -
Seitenaufrufe - 1
Besuchte Seiten - 10.08.2005, 03:08:12 H75 Hollii.de | Startseite | Halloo
Downloads -
Hyperlinks -
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.