PDA

Vollstndige Version anzeigen : datein aus einem ornder lschen wenn sie zu alt sind


momo.metti
27-06-2004, 13:27
Hi leute mal wieder da !!!

Also ich wrde gerne einen counter mit ip sperre machen..
Ich habe das jetzt so gemacht:
1. Wenn IP schon in dem ordner drin ist dan nur aktuellen zhlerstand auslesen , aus einer anderen txt datei.
2. Wenn IP nicht im ordner ist dan eine neue datei anlegen die als namen die IP hat und den counter um 1 erhhen, und counter zahl ausgeben.

Das problem bei dieser methode ist blos das sich dan viele datein im ordner ansammeln werden, die ich dan immer manuel lschen muss.
Wie kann ich den ordner auslesen und alle datein die z.B. lter als 5 stunden sind lschen ?

Nur so neben bei ich berprfe den ordner mit den IPs mit der function;if (file_exists($pfad))

Ich hoffe ihr knnt mir weiter helfen.

Mfg

Jrg
27-06-2004, 15:23
Weiter hilft: filemtime()
http://ch.php.net/function.filemtime
http://www.selfphp.info/funktionsreferenz/dateisystem_funktionen/filemtime.php
Dazu wre weiter ntzlich das Verwenden von Cronjobs (http://www.selfphp.info/cronjobs/index.php)

momo.metti
27-06-2004, 16:38
Ich wollte normalerweis keine cronjobs nutzen weil ich auf php ebende bleiben wollte.
Wie wrde der script den dan aussehen weil man msste doch eine schleife reinbauen die dan einmal jede datei prft ob sie zu alt ist und gelscht werden kann..

kann mir jemand da noch ein paar tips geben wich ich das scripten knnte.

Mfg momo.metti

xabbuh
28-06-2004, 03:45
$verz=opendir('.');
while($file=readdir($verz)){
if(filemtime($file)<(time()-18000)){
unlink($file);
}
}
closedir($verz);

momo.metti
28-06-2004, 14:14
danke teste ich gleich mal...

Thx

momo.metti
28-06-2004, 14:36
Ich wei zwar man soll keine grossen script posten aber so lang ist er nicht<?php
$min=1;
$min=$min*60;

$datei_pad ="ips";
$ip_du = $_SERVER["REMOTE_ADDR"];
$pfad = "ips/$ip_du.log";

if (file_exists($pfad)) {
$count_d = fopen("counter/counter.txt","r");
$counter=fgets($count_d,1000);
fclose($count_d);

echo "Sie sind Insgesamt der $counter Besucher !!";

}

else {
$ip_d = fopen($pfad,"w+");
fclose($ip_d);

$count_d = fopen("counter/counter.txt","r+");
$counter=fgets($count_d,1000);
$counter = $counter+1;
rewind($count_d);
fwrite($count_d,$counter);
fclose($count_d);

echo "Sie sind Insgesamt der $counter Besucher !!";
}
?>
<?
$verz=opendir($datei_pad);
while($file=readdir($verz)){
if(filemtime($file)<(time()-18000)){
unlink($file);
}
}

closedir($verz);

?>

Aber es kommt nur ein fehler wiso unzwar so einer:

Warning: unlink(.): Permission denied in H:xampphtdocsphp1ip_stest.php on line 36

Warning: unlink(..): Permission denied in H:xampphtdocsphp1ip_stest.php on line 36

Warning: filemtime(): Stat failed for 217.225.33.123.log (errno=2 - No such file or directory) in H:xampphtdocsphp1ip_stest.php on line 35

Warning: unlink(217.225.33.123.log): No such file or directory in H:xampphtdocsphp1ip_stest.php on line 36



Ich verstehe nicht wiso.

Ich habe doch alles angepasst

Mfg momo.metti

momo.metti
01-07-2004, 18:29
so ich hab eden fehler ich hate keinen pfad bestimmt also so

if(filemtime($dat_pad . '/' . $file)<$time_j){

aber trotzdem danke an alle

Mfg momo.metti