43 lines
1.2 KiB
PHP
43 lines
1.2 KiB
PHP
<?php
|
|
|
|
if (!function_exists('str_contains')) {
|
|
function str_contains($haystack, $needle)
|
|
{
|
|
return strpos($haystack, $needle) !== false;
|
|
}
|
|
}
|
|
|
|
if (!function_exists('str_ends_with')) {
|
|
function str_ends_with($haystack, $needle)
|
|
{
|
|
$length = strlen($needle);
|
|
return $length > 0 ? substr($haystack, -$length) === $needle : true;
|
|
}
|
|
}
|
|
|
|
function str_replace_first($needle, $replace, $haystack) {
|
|
$pos = strpos($haystack, $needle);
|
|
if ($pos !== false) {
|
|
$haystack = substr_replace($haystack, $replace, $pos, strlen($needle));
|
|
}
|
|
return $haystack;
|
|
}
|
|
|
|
$uri = $_SERVER['REQUEST_URI'];
|
|
$uri = str_replace('/channels/', '', $uri);
|
|
$prefix = '/mnt/HDD0/YouTube_captions_search_engine/channels/';
|
|
if (str_contains($uri, '/')) {
|
|
$uri = str_replace_first('/', '#', $uri);
|
|
$uri = $prefix . $uri;
|
|
if (str_ends_with($uri, '.json')) {
|
|
header('Content-Type: application/json; charset=UTF-8');
|
|
}
|
|
echo file_get_contents("zip://$uri");
|
|
} else {
|
|
$uri = $prefix . $uri;
|
|
header("Content-Type: application/zip");
|
|
echo readfile($uri);
|
|
}
|
|
|
|
?>
|