3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php/** * test that filemtime() returns Unix timestamp (UTC) on current system */$timestampStartOfUnixEpoch = 0; // start of the Unix epoch.$timestampRequest = 3600 * (int) ($_SERVER['REQUEST_TIME'] / 3600);$testFile = tempnam(sys_get_temp_dir(), 'test-dropbox-uploader');printf("PHP version is %s.\n", PHP_VERSION);printf("Testfile is '%s'.\n", $testFile);touch($testFile, $timestampStartOfUnixEpoch);clearstatcache(false, $testFile);$mtime = filemtime($testFile);printf("Testfile '%s' mtime should be from touch %d, is %d.\n", basename($testFile), $timestampStartOfUnixEpoch, $mtime);printf("The mtime represents %s\n", date('r', $mtime));touch($testFile, $timestampRequest);clearstatcache(false, $testFile);$mtime = filemtime($testFile);printf("Testfile '%s' mtime should be from touch %d, is %d.\n", basename($testFile), $timestampRequest, $mtime);printf("The mtime represents %s\n", date('r', $mtime));unlink($testFile);
Output for 5.4.0 - 5.4.32
<?php/** * test that filemtime() returns Unix timestamp (UTC) on current system */$timestampStartOfUnixEpoch = 0; // start of the Unix epoch.$timestampRequest = 3600 * (int) ($_SERVER['REQUEST_TIME'] / 3600);$testFile = tempnam(sys_get_temp_dir(), 'test-dropbox-uploader');printf("PHP version is %s.\n", PHP_VERSION);printf("Testfile is '%s'.\n", $testFile);touch($testFile, $timestampStartOfUnixEpoch);clearstatcache(false, $testFile);$mtime = filemtime($testFile);printf("Testfile '%s' mtime should be from touch %d, is %d.\n", basename($testFile), $timestampStartOfUnixEpoch, $mtime);printf("The mtime represents %s\n", date('r', $mtime));touch($testFile, $timestampRequest);clearstatcache(false, $testFile);$mtime = filemtime($testFile);printf("Testfile '%s' mtime should be from touch %d, is %d.\n", basename($testFile), $timestampRequest, $mtime);printf("The mtime represents %s\n", date('r', $mtime));unlink($testFile);