--- a/diagnostics.php +++ b/diagnostics.php @@ -1,1 +1,55 @@ +"; + } else if (sizeof($results) > 1) { + echo "Error on $currentDate, more than one photo found for that date:
"; + var_dump($results); + echo "
"; + } else { + // normal day + $fname = basename($results[0]); + $fnParts = explode(".", $fname); + if (sizeof($fnParts) < 3) { + echo "Error on $currentDate, malformed file name {$fname}
"; + } else { + if (strtotime($currentDate) != strtotime($fnParts[0])) { + echo "Error on $currentDate, file name {$fname} date does not match expected date
"; + } + if ($imgsize = getimagesize($results[0])) { + if ($imgsize[0] < MIN_IMAGE_SIZE || $imgsize[1] < MIN_IMAGE_SIZE || $imgsize[0] != $imgsize[1]) { + echo "Error on $currentDate, file name {$fname} is not large enough dimensions or non-square dimensions
"; + } + } else { + echo "Error on $currentDate, file name {$fname} could not be opened as an image file. File may have been corrupted
"; + } + $hash = md5_file($results[0]); + if ($hash != $fnParts[1]) { + echo "Error on $currentDate, file name {$fname} hash does not match expected hash. File may have been corrupted or altered
"; + } + if (in_array($hash, array_keys($hashes))) { + echo "Error on $currentDate, file {$fname} hash matches that of {$hashes[$hash]}. Files may be identitical duplicates of the same image
"; + } + $hashes[$hash] = $fname; + + if (sizeof($fnParts[2]) > 3 || ($fnParts[2] != "png" && $fnParts[2] != "jpg")) { + echo "Error on $currentDate, file name {$fname} extension unexpected
"; + } + } + } + + // go to next day + $currentDate = date("Y-m-d", strtotime("+1 day", strtotime($currentDate))); +} +echo "Scanned files from $firstDate to $currentDate, no errors detected
"; +?> +