가장 직접적인 것은 아니지만 이것을 시도 할 수 있습니다.
첫째, 투명하게 모든 .ogv 비디오를 잡아
htaccess로 PHP로 처리 할 수있는 htaccess로 설정
RewriteEngine On
RewriteRule ^(.*)\.ogv$ ogv.php?file=$1
ogv.php
<?php
$file = $_GET['file'] . '.ogv';
while (strpos($file, '..') !== false)
{
$file = str_replace('..', '', $file);
}
$filesize = filesize($file);
header("Content-Type: video/ogg");
header("Content-Transfer-Encoding: binary");
header("Content-Length: {$filesize}");
readfile($file);
exit()
?>
HTML :
<video src="video.ogv" id="video" controls></video>
<script>
var video_src = document.getElementById('video').src;
var xhr = new XMLHttpRequest();
xhr.open('GET', video_src, false);
xhr.send(null);
var size = xhr.getResponseHeader('Content-Length');
alert(size);
</script>
이 시스템의 작동 방식은 다음과 같습니다. .ogv 비디오를 보통처럼 링크하지만, .htaccess 파일은 먼저 요청을 캡처하여 ogv.php로 전송합니다. PHP 파일은 서버가 자동으로 실행되지 않을 경우를 대비하여 파일 크기 헤더를 발송합니다. 그래, 아직도 너를 잘하지 못해, 그렇지? 그런 다음 비디오에 대한 Ajax 요청을 작성하고 HTTP 헤더에서 파일 크기를 추출 할 수 있습니다.
희망이 도움이됩니다.
답변 - 투표와 마찬가지로 답변도 좋지만 받아 들일 준비가되지 않았다고 생각합니다. "서버가 자동으로 파일 크기 헤더를 보내지 않는 경우를 대비해서"라고 말하면 일반적으로 그렇게합니까? 그렇다면 파일 크기 헤더를 읽을 수있는 방법이 있습니까? 또한, "HTTP 헤더에서 파일 크기를 추출하십시오"라고 말하면, 처음에는 그렇게하고 싶다고 생각합니다. 그러나 확실하지 않습니다. –
나는 $ filesize 데이터를 채우기 위해 내일 실제 파일과 se를 사용하여 이것을 시도 할 것이다. –
마지막 코멘트 : "가장 직접적인 것은 아니지만"- 무엇이 * 가장 직접적입니까? 내가 모르는 분명한 방법이 있나? –