"/mnt/faminema" ]; echo("Loading database...\n"); $times = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/data/durations.json"), true); function id3time($file) { $fparts = explode("/", $file); $afile = $fparts[count($fparts) - 1]; global $times; $date = (int)date('U'); if (in_array($afile, $times["@items"]) && ($date - $times[$afile]["date"] < 108000)) { echo("$file => metadata too recent\n"); return $times[$afile]["duration"]; } else { include_once($_SERVER['DOCUMENT_ROOT'] . "/includes/getid3/getid3.php"); $getID3 = new getID3; $id3 = $getID3->analyze($file); if (isset($id3["playtime_string"])) { $str = $id3["playtime_string"]; $str2 = (int)round($id3["playtime_seconds"]); } else { $str = "-:--"; $str2 = 0; } $times[$afile] = [ "duration" => $str, "seconds" => $str2, "date" => $date ]; $times["@items"][] = $afile; file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/data/durations.json", json_encode($times, JSON_PRETTY_PRINT)); echo("$file => metadata updated\n"); return $str; } } foreach (scandir($_SERVER['DOCUMENT_ROOT'] . "/data/films/video") as $file) { if ($file !== "." && $file !== "..") { echo("Constructing metadata for $file\n"); id3time($_SERVER['DOCUMENT_ROOT'] . "/data/films/video/" . $file); } }