hi
erstmal frohes neues jahr
ich möchte für eine dateiliste eine aktualitätsanzeige machen. das hat bis gestern auch ganz gut geklappt, aber durch das neue jahr/neuen monat spiel die anzeige ein wenig verrückt.
es soll eine grafik angezeigt werden von dem hochlademoment an bis 2 tage danach. das habe ich so gelöst:
...
$FileTime = date("d.m.Y, H:i:s", $file["FileTime"]); //Hochladedatum auf Datei bezogen
$datumh = date("d.m.Y, H:i:s"); //Aktuelles Datum
if($datumh - $FileTime < 2) //2 Tage
{
$neu = "<img src='images/neu.gif' alt='Datei vor weniger als 2 Tagen hochgeladen!'>";
}
...
das bild wurde auch über den monat hinweg angezeigt, nur da sich der monat ja geändert hat wird die ersten 2 tage bei allen dateien das neu zeichen gezeigt.
ich hab das mal versucht, aber iwie klappt das nicht, da $FileTime ein anderes Format hat. also hab ich das erstmal in unix-timestamp konvertiert, aber trotzdem gehts nicht:
Müsste hätte wäre wenn … hilft beim Programmieren alles nichts.
Mache Kontrollausgaben, um zu schauen, ob die verwendeten Variablen die erwarteten Inhalte haben, und um zu schauen, ob in den Anweisungsblock der If-Abfrage hineingegangen wird.
Damit teilst du das in d.m.Y und H:i:s
Im nächsten Schritt willst du aber etwas anderes weiterverarbeiten.
Versuchs mal mit statt
[code]$FileTime = date("d.m.Y, H:i:s", $file["FileTime"]);[/code]
mit
[code]$FileTime = date("H,i,s,m,d,Y", $file["FileTime"]);[/code]
Ich hoffe ich hab da jetzt keinen Denkfehler.
Mfg
*edit: Und auf die Reihenfolge der Parameter bei mktime() achten :wink:
Damit teilst du das in d.m.Y und H:i:s
Im nächsten Schritt willst du aber etwas anderes weiterverarbeiten.
Versuchs mal mit statt
mit
Ich hoffe ich hab da jetzt keinen Denkfehler.
Mfg
*edit: Und auf die Reihenfolge der Parameter bei mktime() achten
$FileTime = date("d.m.Y, H:i:s", $file["FileTime"]);
$aktuellezeit = time();
$timefile = date("H,i,s,m,d,Y", $file["FileTime"]);
list($h,$i,$s,$m,$d,$y) = explode(',',$timefile);
$timestampfile = mktime($h,$i,$s,$m,$d,$y);
if(($aktuellezeit - $timestampfile) < 172800)
{
$neu = "<img src='images/neu.gif' alt='Datei vor weniger als 2 Tagen hochgeladen!'>";
}
aer komisch ist, dass die grafik bei den jüngsten und ältesten dateien angezeigt wird, aber nicht bei der ersten mit einem mittleren datum
lg
//edit: aufm anderen server mit älteren dateien läuft das.
ich schau um 23:20 mal ob das symbol dann immernoch da ist. dann sind die 2 tage nämlich um.
hi
ich hab noch ein neues problem. das anzeigen des bildes funktioniert einwandfrei. jetzt wollte ich machen, dass bestimmte dateien mit nem präfix im namen ([***]) das bild länger angezeigt bekommen.
aber ich find nix im inet über präfixe auslesen oder dateinamen auf bestimmte anfangsbuchstaben checken
könnt ihr mir die funktion nennen um zum beispiel die ersten 4 buchsatben auszulesen? den rest bekomm ich selber schon hin
lg