Archiv verlassen und diese Seite im Standarddesign anzeigen : Datum + Tage ?? Problem
Hallo ich habe mal wieder ein kleines problem:(
Ich lese mit dem code ein Datum aus einer txt-datei, und vergleiche sie mit dem Aktuellem Datum.Wenn das Datum gleich ist, wird das bild new.gif ausgegeben. Ist das Datum nicht gleich wird wird "nicht neu" ausgegeben.
Das heist das bild new.gif wird immer nur ein Tag ausgegeben.
Jetzt möchte ich aber das, das Bild new.gif zb. 3 Tage ausgegeben wird!!
wie mache ich das denn jetzt?? Komme da nicht weiter :confused:
ich hoffe es kann mir hier einer weiter helfen.
$nicht_neu = "Nicht neu";
$doch_neu = "<img src=\"image/new.gif\" alt=\"New\">";
$aktuelles_datum = date("d.m.Y");
if ($datum[$i] == $aktuelles_datum){ $new = $doch_neu;} else {$new = $nicht_neu;} echo $new ;
gruß
runner
benutze doch unixtimestamp:
if(tsfile>(tsnow-(60*60*24*3)))...
mhh Sorry wie mache ich das den ??
hi
mit mktime
http://www.php-resource.de/manual.php?p=function.mktime
gruesse von pau
könnt ihr mir das an dem beispiel oben mal erklären?
hi
ok ich versuchs mal:
$nicht_neu = "Nicht neu";
$doch_neu = "<img src=\"image/new.gif\" alt=\"New\">";
$timestamp_miuns_drei_tage = strtotime ("-3 DAY");
if (mktime($datum[$i]) < $$timestamp_miuns_drei_tage){ $new = $doch_neu;} else {$new = $nicht_neu;} echo $new ;
erklaerung :
mit strtotime ("-3 DAY"); bekommst du eine integer die den sekunden seit 1970 entspricht (TIMESTAMP) bis heute vor drei tagen.
mit mktime($datum[$i]) bekommst du den timestamp von dem abgespeicherten datum. wenn der kleiner ist, dann ist sie aelter als drei tage
gruss von pau
ich geh mal davon aus, daß deine zeitangeben im format (d.m.Y) vorliegen.
dann:
$dummy=explode(".",$datum[$i]);
$tsfile=mktime(0,0,0,$dummy[1],$dummy[0],$dummy[2]);
$tsnow=time();
if($tsfile>($tsnow-(60*60*24*3))) //dann isses neu
hi
oder so ! ;-)
gruss von pau
@pauino
jetzt steht aber übnerall nicht neu Obwohl ich die dateien das heutige datum haben??
@ slarti
das verstehe ich nicht ,bin ich zu dumm??:(
hi
upps. muss in der if dann wohl:
mktime($datum[$i]) > $$timestamp_miuns_drei_tage
heissen
ist ja auch klar
gruss von pau
@pauino
ich habe jetzt die datum angaben mal umgeschrieben und hebe mit den datum 12.11.2002 angefangen bis zum heutigen tag.
sie werden mir jetzt aber trotzdem alle als NEU angezeigt??
ich welchem format liegt denn dein datum vor ?
also tag . monat . jahr oder monat tag jahr
gruss von pau
Tag Monat Jahr
gruss
runner
hi
dann probiersmal mit slartis methode:
$dummy=explode(".",$datum[$i]);
$tsfile=mktime(0,0,0,$dummy[1],$dummy[0],$dummy[2]);
$tsnow = time() - (60*60*24*3);
if ($tsfile > $tsnow){ $new = $doch_neu;} else {$new = $nicht_neu;} echo $new ;
das ist sowieso eleganter denke ich
gruss von pau
das funktioniert :)
aber wie kann ich den da die Tage verstellen??
gruss
runner
$tsnow = time() - (60*60*24*3);
hier!
erklaerung :
60 sekunden * 60 minuten * 24 stunden * 3 tage
das ist die anzahl der sekunden in drei tagen !
also die letzte zahl ist die anzahl der tage
gruss von pau
muss mal kurz weg bion ca in 2 std. wieder da
währe schon wenn du mir das dann noch erklären könntesdt :)
gruss
runner
Dankeschön :D
Das habe ich jetzt so weit verstanden:)
Jetzt habe ich haber noch ein Problem:
Mit den folgenden Code lese ich dateien in einem array ein und gebe sie mit einer inhalts prüfung aus.
In diesem ist aber kein Datum gespeichert!!!
wie schaffe ich es jetzt das ich zb. das new.gif auch hier erhalte wenn eine Datei Aktualisiert worden ist???
Hoffentlich könnt ihr mir hier auch nochmal helfen :(
$verzeichnis = opendir('kat/');
while ($me_file = readdir($verzeichnis))
if($me_file != "." && $me_file != "..")
{
$me_file = ereg_replace(".php","",$me_file);
$me_array[] = $me_file;
}
natcasesort ($me_array);
foreach ($me_array as $me_file){
$datei2 = "kat/".$me_file.".php";
$fp = file($datei2,"r");
$fp = array_reverse($fp);
$file_line = file($datei2);
$total_lines = count($file_line);
for ($index = 0; $index < $total_lines; $index++)
{
$line = explode("|",$fp[$index]);
$name[$index]=$line[0];
$datum[$index]=$line[1];
$adresse[$index]=$line[2];
$kommentar[$index]=$line[3];
$downloads[$index]=$line[4];
$bewertungen[$index]=$line[5];
$zwischennote[$index]=$line[6];
$demo[$index]=$line[7];
$summe = $summe + $downloads[$index];
}
print "<li style=\"list-style-type: square;\"><a href=\"$meindex?mekat=$me_file\">$me_file</a></li><font size=\"1\"> ($total_lines)</font>";
}
closedir($verzeichnis);
gruss
Runner
hi
gott so ein script wer soll sich denn da ein arbeiten?
ich denke du willst die zeit zu dem files haben da kannst du mal hier nachgucken:
http://www.php-resource.de/manual.php?p=function.filemtime
gruss von pau
mist bekomme es nicht am klappen :confused:
gruss
runner
hi runner
ich hab leider grad nicht die zeit,
versuch doch dein neues problem als neues thema ins forum zu stellen
gruss von pau
ok danke dir :)
gruss
runner
|