diff options
author | Minteck <contact@minteck.org> | 2022-02-05 15:55:51 +0100 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-02-05 15:55:51 +0100 |
commit | cee23ce48ea81612eefe30552da1cc286138af0b (patch) | |
tree | e0eca8d2a62139f47d63d00076b84e033ce1d68f /includes/construct.php | |
parent | ed531165841a1de9200782b00b99b174bf2289cd (diff) | |
download | movies-cee23ce48ea81612eefe30552da1cc286138af0b.tar.gz movies-cee23ce48ea81612eefe30552da1cc286138af0b.tar.bz2 movies-cee23ce48ea81612eefe30552da1cc286138af0b.zip |
Update
Diffstat (limited to 'includes/construct.php')
-rw-r--r-- | includes/construct.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/includes/construct.php b/includes/construct.php new file mode 100644 index 0000000..6d32c7d --- /dev/null +++ b/includes/construct.php @@ -0,0 +1,51 @@ +<?php + +$_SERVER = [ + 'DOCUMENT_ROOT' => "/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); + } +}
\ No newline at end of file |