Code: Select all
// destroy previous sessions
$sessionfilename = ".$sessionid.".dat;
foreach (glob("./sessions/*") as $sessionfilename) {
if (filemtime($sessionfilename) + 604800 < time()) {
unlink($sessionfilename);
}
}Moderator: General Moderators
Code: Select all
// destroy previous sessions
$sessionfilename = ".$sessionid.".dat;
foreach (glob("./sessions/*") as $sessionfilename) {
if (filemtime($sessionfilename) + 604800 < time()) {
unlink($sessionfilename);
}
}You are globbing over ./session/* -> and each file that is found is stored in $sessionfilename in the foreach construct.... and then you unlink $sessionfilename...methos wrote:Why does this code not only erases all .dat files but also all the files under that directory such as a file called "empty" (with no file extension)? ($sessionid is created using random md5) I only want it to erase all .dat files.
Code: Select all
// destroy previous sessions $sessionfilename = ".$sessionid.".dat; foreach (glob("./sessions/*") as $sessionfilename) { if (filemtime($sessionfilename) + 604800 < time()) { unlink($sessionfilename); } }
Code: Select all
foreach(glob("xxx/*.dat") as $foundfile) { echo $foundfile; }Code: Select all
$sessionfilename = $sessionid.".dat";