Files
html/api/l99-media.php
2026-04-12 22:57:03 +02:00

12 lines
899 B
PHP

<?php
$base='/opt/weval-l99';$file=basename($_GET['f']??'');$type=$_GET['t']??'screenshots';
if(!in_array($type,['screenshots','videos','baselines']))die('invalid');
$path="$base/$type/$file";if(!file_exists($path)){http_response_code(404);die('not found');}
$ext=pathinfo($file,PATHINFO_EXTENSION);
$mimes=['png'=>'image/png','webm'=>'video/webm','mp4'=>'video/mp4'];
header('Content-Type: '.($mimes[$ext]??'application/octet-stream'));
header('Content-Length: '.filesize($path));header('Accept-Ranges: bytes');
if(isset($_SERVER['HTTP_RANGE'])){$s=filesize($path);preg_match('/bytes=(\d+)-(\d*)/',$_SERVER['HTTP_RANGE'],$m);
$st=intval($m[1]);$en=$m[2]!==''?intval($m[2]):$s-1;header('HTTP/1.1 206 Partial Content');
header("Content-Range: bytes $st-$en/$s");header('Content-Length: '.($en-$st+1));
$fp=fopen($path,'rb');fseek($fp,$st);echo fread($fp,$en-$st+1);fclose($fp);}else{readfile($path);}