YourWBB


yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » logfile » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 3.283 Views | | Thema zu Favoriten hinzufügen

Neues Thema erstellen Antwort erstellen

Zum Ende der Seite springen logfile
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

 logfile Antworten Zitieren Editieren Melden       UP

Wollt mal fragen:

Hab eine log.txt angelegt mit bestimmten inhalten!

So nun möchte ich aber den Inhalt aus der txt ins wbb rein haben

Also erstelle ich dafür eine neue tpl dafür damit es nur mein TEAM sieht und kein anderer!

Aber ich weiss nun nicht wie ich das genau mache

Hier mal ein teil aus der php:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
if ($log == 1) {
                // Log-datei öffnen
                $open fopen($logfile,"a");
                // Den Inhalt der Log-datei festlegen
                $index "IP-Adresse: ".$_SERVER['REMOTE_ADDR']."
                \nSein Host: ".gethostbyaddr($_SERVER['REMOTE_ADDR'])."
                \nSein Nick: ".$wbbuserdata['username']."
                \nUpload-Datei: ".$UPLOAD_PFAD."/".$name."
                \nDatum: ".date("d.m.Y")."
                \nUhrzeit: ".date("H:i:s")."
                \n-------------------------\n";
                // Den Inhalt an das Ende der Log-datei hinzufügen
                fputs($open,$index);
                // datei wieder schließen
                fclose($open);
            }
04.10.06 17:11 Lenox ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Warum machst du es nicht in die DB?
04.10.06 17:16 [kamui] ist offline Finden Als Freund hinzufügen
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

Themenstarter Thema begonnen von Lenox
Antworten Zitieren Editieren Melden       UP

Naja so hab ich mir das gedacht per Tabelle:

Tabelle: bb1_logfile

Felder: 7

id, ip, host, user, upload, datum, time

Aber dazu brauchte ich noch die typen der Felder bei ID, upload und user weiss ich das ja aber bei den Restlichen nicht
04.10.06 17:39 Lenox ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Verstehe deinen letzten Post irgendwie nicht, oben willst du das ganze doch in einer Datei speichern / ändern !?

Und was weißt du bei der Tabelle nicht ?

EDIT:// Habe dir da mal was gemacht smile

Hier schreibt er den User in eine *.txt Datei (Verzeichnis sollte per .htaccess geschützt werden)
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
<?
$dir './user-logs/';
$filename $dir.$wbbuserdata['userid'].'.txt';

$host gethostbyaddr($_SERVER['REMOTE_ADDR']);

$text "{$wbbuserdata['userid']}+#-#+{$host}+#-#+{$_SERVER['REMOTE_ADDR']}+#-#+{$_SERVER['REQUEST_TIME']}\n";

$handle fopen($filename'a+');
fwrite($handle$text);
fclose($handle);
?>

Beim auslesen kannst du dann bei jedem " \n " exploden, dann hast du jeden einzelnen Eintrag, dann explode mit " +#-#+ " und die hast die einzelnen Einträge der Daten. Das könnte in etwa so aussehen:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
<?
$dir './user-logs/';
$filename = array();

$query 'SELECT * FROM bb'.$n.'_users';
$result mysql_query($result);
while ($row mysql_fetch_array($result)) {
  $filename[$row['userid']] = $dir.$row['userid'].'.txt';
}

$daten = array('Userid''Host''IP''Serverzeit');

foreach ($filename as $key=>$value) {
  $handle fopen($value'a+');
  $content fread($handlefilesize($value));
  $eintraege explode("\n"$content);
  foreach ($eintraege as $key=>$value) {
    $daten explode('+#-#+'$value);
    for ($i 0$i <= 4$i++) {
      if ($i != 4) echo $namen[$i].': '.$daten[$i].'<br />';
      else echo $namen[$i].': '.date('d.m.Y H:i:s'$daten[$i]).'<br />';
    }
  }
  fclose($handle);
  unset($content);
  unset($eintraege);
  unset($daten);
}
?>


Das ganze ist ungetestet, aber ich denke vom Sinn her müsstest du verstanden haben, was ich meine Zunge raus

Habe das ganze mal mit *.txt Dateien gelöst, weil man die dann ja auch auf dem Server hat, und man weiß woran man ist Zunge raus

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von [kamui]: 04.10.06 19:53.

04.10.06 19:26 [kamui] ist offline Finden Als Freund hinzufügen
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

Themenstarter Thema begonnen von Lenox
Antworten Zitieren Editieren Melden       UP

Hmm... naja jetzt wollt ich es aber per DB machen denke das es so am leichtestn geht
05.10.06 00:00 Lenox ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Heute habe ich leider nicht die Zeit dir den Code zu mache, aber die Struktur sollte eigentlich aus dem alten Code erkennbar sein (obwohl du bei einer DB ja mit Feldern arbeiten kannst). Du kannst ja z.B. für jeden Log-Eintrag einen Eintrag in die DB machen und die UserID mitspeichern (immer die UserID speichern, der Name kann sich nämlich verändern) und später alle Logs von allen UserIDs auslesen lassen.
05.10.06 18:31 [kamui] ist offline Finden Als Freund hinzufügen
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

Themenstarter Thema begonnen von Lenox
Antworten Zitieren Editieren Melden       UP

Na das mit dem Speichern in die DB

Hab ich schon gelöst

Jetzt fehlt mir nur noch die Überprüfungen der Dateiendungen

Diese hab ich in der php deklariert und diese sollen nun überprüft werden!

Ist die dateiendung vorhanden soll es gespeichert werden

Ist die nicht vorhanden soll eine Fehlermeldung erscheinen

hier noch mal die php

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:

<?php
$filename "upload.php";
require('./global.php');
require('./acp/lib/class_parse.php');
$lang->load('upload');

if (!$wbbuserdata['userid']) access_error();
#if ($showupload != 0) error($lang->get("LANG_UPLOAD_ERROR_DISABLED")); // Einstellungen => Sonstiges

//* IP Ermitteln
$ip $_SERVER['REMOTE_ADDR'];

//* Upload ordner
$UPLOAD_PFAD "upload";

//* Maximale Grösse
$maxsize "3000072";

//* Datei Endungen
$extensions = array(".jpg"".gif"".png"".pdf"".bmp"".jpeg"".swf"".zip"".rar"".txt"".html"".png"".doc"".tpl");

//* Domain Angabe
$domain "http://test.code-tpl.de/wbb2/";

//* Ausgabe der Endungen
$file_typ "jpg, gif, png, pdf, bmp, jpeg, sfw, zip, rar, txt, png, tpl";

//* Ab hier beginnt die rechnung von Byte bis zu Kilobyte *//
$rechnen $maxsize/1000;
$ergebnis "$rechnen";
if (wbb_strlen($ergebnis) > 5$ergebnis wbb_substr($ergebnis04);
$ergebnis htmlconverter($ergebnis);

//* Ab hier beginnt die rechnung von Kilobyte bis zu Megabyte *//
$rechnenmb $rechnen/1000;
$ergebnismb "$rechnenmb";
if (wbb_strlen($ergebnismb) > 5$ergebnismb wbb_substr($ergebnismb04);
$ergebnismb htmlconverter($ergebnismb);

if($_POST['upload'] == true){
$name $_FILES['datei']['name'];$tmp_name $_FILES['datei']['tmp_name'];$size $_FILES['datei']['size'];
$type $_FILES['datei']['type'];
$ext_tmp explode("."$name);
$ext ".".$ext_tmp[(count($ext_tmp)-1)];

//* Datei Namen Speicherung
$neuerDateiname $UPLOAD_PFAD."/".$name;

//* Ausgabe der Datei
$upload_finish "$domain$neuerDateiname";

//* Eintrag in die Datenbank
        $db->unbuffered_query("INSERT INTO bb".$n."_logfile (ip, user, userid, upload, name, datum, time) VALUES ('".$_SERVER['REMOTE_ADDR']."', '".$wbbuserdata['username']."', '".$wbbuserdata['userid']."', '".$domain."".$UPLOAD_PFAD."/".$name."', '".$name."', '".date("d.m.Y")."', '".date("H:i:s")."')");
if(in_array($ext$extensions))

if(copy($tmp_name$neuerDateiname)) {

}

        redirect("Deine Datei &raquo;".$name."&laquo; wurde erfolgreich gespeichert!""upload.php"5);

}

//* Dateien Zeigen *//
$uploader $db->query ("SELECT id, ip, user, userid, upload, name, datum, time FROM bb".$n."_logfile WHERE userid='".$wbbuserdata['userid']."' ORDER by datum AND time ASC");
    while($row=$db->fetch_array ($uploader)){

        $row['id'];
        $row['user'];
        $row['userid'];
        $row['upload'];
        $row['name'];
        $row['datum'];
        $row['time'];        

    eval("\$upload_bit .= \"".$tpl->get("upload_bit")."\";");

}

eval("\$tpl->output(\"".$tpl->get("upload")."\");");

?>
05.10.06 19:10 Lenox ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

1. Was willst du da Uploaden?
2. Umrechnungszahl ist immer 1024 (1024 Bytes = 1 KB; 1024 KB = 1 MB)
05.10.06 19:18 [kamui] ist offline Finden Als Freund hinzufügen
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

Themenstarter Thema begonnen von Lenox
Antworten Zitieren Editieren Melden       UP

Zitat:
Original von [kamui]
1. Was willst du da Uploaden?
2. Umrechnungszahl ist immer 1024 (1024 Bytes = 1 KB; 1024 KB = 1 MB)


zu 1. so gut wie alles ausser php und sonstige Scripte

zu 2. das weiss ich doch, wusste nur nicht wie ich das am dümmsten mache
05.10.06 19:26 Lenox ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Achso, das ganze soll eine Log von Uploads werden XD

php:
1:
2:
3:
if (in_array($type$extensions)) {
// code ausführen
}
05.10.06 19:35 [kamui] ist offline Finden Als Freund hinzufügen
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

Themenstarter Thema begonnen von Lenox
Antworten Zitieren Editieren Melden       UP

Zitat:
Original von [kamui]
Achso, das ganze soll eine Log von Uploads werden XD

php:
1:
2:
3:
if (in_array($type$extensions)) {
// code ausführen
}


Also da wird jetzt geprüft welche endung es hat?

Und wie oder wo mach ich das mit der Fehlermeldung da muss ich ja noch eine else machen oder nicht
05.10.06 19:42 Lenox ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Ja, es wird überprüft, ob der Inhalt von $type in dem Array $extensions enthalten ist. Und wenn du eine Fehlermeldung willst, dann einfach ein else reinmachen ^^
05.10.06 19:46 [kamui] ist offline Finden Als Freund hinzufügen
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

Themenstarter Thema begonnen von Lenox
Antworten Zitieren Editieren Melden       UP

Okay ich danke dir erstmal Augenzwinkern

Hoffe das ich weiter komme großes Grinsen ohne das ich hier nochmal neu fragen muss Augenzwinkern
05.10.06 19:52 Lenox ist offline E-Mail Finden Als Freund hinzufügen
[kamui]
~


images/avatars/avatar-4963.gif

Dabei seit: 27.04.05
Beiträge: 2.992

Antworten Zitieren Editieren Melden       UP

Scheue dich nicht zu fragen *gg* ansonsten www.php.net, gerade bei Funktionen wie in_array hilft das sehr gut smile
05.10.06 19:54 [kamui] ist offline Finden Als Freund hinzufügen
Lenox Lenox ist männlich
Mitglied


images/avatars/avatar-2072.gif

Dabei seit: 11.03.04
Beiträge: 517
Fähigkeiten: WBB2 Fortgeschritten
Herkunft: AP
Forenversion: 2.3

Themenstarter Thema begonnen von Lenox
Antworten Zitieren Editieren Melden       UP

Folgendes

Möchte alle Dateitypen zulassen ausser:

Javascipte, php-dateien und HTML-Dateien

diese sollen am ende statt .php so sein .php.txt

Wie kann ich das realisieren?

Hier noch mal die php als Anhang

Dateianhang:
unknown upload.php (3 KB, 0 mal heruntergeladen)
05.10.06 22:16 Lenox ist offline E-Mail Finden Als Freund hinzufügen
Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » yourWBB Misc * » Das Proggen » MySQL und PHP » logfile