|
<?php |
|
|
|
include "common.inc.php"; |
|
if (!($firstDate = getFirstDate())) |
|
die("Cannot complete diagnotics, cannot get first file date"); |
|
$currentDate = $firstDate; |
|
if (!($lastDate = getPreviousDate())) |
|
die("Cannot complete diagnotics, cannot get last file date"); |
|
$hashes = Array(); |
|
while ($currentDate != $lastDate) { |
|
$results = glob(DATA_DIR . "/" . $currentDate . "*"); |
|
if (sizeof($results) == 0) { |
|
echo "Error on $currentDate, no photo found for that date <br>"; |
|
} else if (sizeof($results) > 1) { |
|
echo "Error on $currentDate, more than one photo found for that date: <br>"; |
|
var_dump($results); |
|
echo "<br>"; |
|
} else { |
|
// normal day |
|
$fname = basename($results[0]); |
|
$fnParts = explode(".", $fname); |
|
if (sizeof($fnParts) < 3) { |
|
echo "Error on $currentDate, malformed file name {$fname} <br>"; |
|
} else { |
|
if (strtotime($currentDate) != strtotime($fnParts[0])) { |
|
echo "Error on $currentDate, file name {$fname} date does not match expected date <br>"; |
|
} |
|
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 <br>"; |
|
} |
|
} else { |
|
echo "Error on $currentDate, file name {$fname} could not be opened as an image file. File may have been corrupted <br>"; |
|
} |
|
$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 <br>"; |
|
} |
|
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 <br>"; |
|
} |
|
$hashes[$hash] = $fname; |
|
|
|
if (sizeof($fnParts[2]) > 3 || ($fnParts[2] != "png" && $fnParts[2] != "jpg")) { |
|
echo "Error on $currentDate, file name {$fname} extension unexpected <br>"; |
|
} |
|
} |
|
} |
|
|
|
// go to next day |
|
$currentDate = date("Y-m-d", strtotime("+1 day", strtotime($currentDate))); |
|
} |
|
echo "Scanned files from $firstDate to $currentDate, no errors detected<br>"; |
|
?> |
|
|