2014-07-15 4 views
0

웹 페이지에서 플래시 비디오를 재생하고 싶지만 소스 파일 (* .flv)이 웹 루트 외부에 있습니다.PHP를 사용하여 HTML 페이지에 표시 할 플래시 비디오 보내기

이 소스 파일에 액세스 할 수 있도록 flashvars에 PHP 파일 참조를 제공했습니다. 이 PHP 파일은 헤더를 설정하고 올바른 flv 파일 데이터를 반환합니다. 이 작업을 기대했지만 작동하지 않습니다.

내 응답 헤더의 Content type 값이 : text/html 인 반면, 비디오 파일을 직접 재생하려고 시도하면 헤더가 video/x-flv입니다. 무엇이 문제인지 해결할 수있는 방법은 훌륭합니다!

내 HTML 소스

<object id=0 type="video/x-flv" data=123.swf width=640 height=360> 
<param name="movie" value=123.swf /> 
<param name="wmode" value="opaque" /> 
<param name="allowFullScreen" value="true" /> 
<param name="allowScriptAccess" value="sameDomain" /> 
<param name="quality" value="high" /> 
<param name="menu" value="true" /> 
<param name="autoplay" value="false" /> 
<param name="autoload" value="false" /> 
<param name="FlashVars" value="flv=media.php" /> 
</object> 

media.php 파일 내 PHP 데이터 - 그러나 <?php header("Content-Type: video/x-flv"); readfile("videos/vid1.flv");
?>

내가 재생할 수있는 비디오를 클릭 할 때, 응답 헤더의 텍스트 콘텐츠 유형/html. 그게 비디오가 재생되지 않는 근본 원인입니다.

어떤 도움이 필요합니까?

+0

는 제거하십시오 (후행 ?> 후 예를 들어, 탭 또는 공간을) ouputted되어

편집 미행'?>' 그것이 효과가 있을지는 의심의 여지가 있지만 그것은 가치가있다. 후행 공백이있는 경우. – Pitchinnate

+0

내 대답이 도움이 되었습니까? – Jonan

+0

media.php 파일로 직접 간다면 무엇이 보입니까? 아마도 일종의 PHP 오류/경고가 표시되고있을 것입니다. –

답변

2

<?php 태그 앞에 탭/공백이 없어야합니다. header("Content-Type: video/x-flv"); 일 때 PHP에서 오류가 발생하여 콘텐츠 유형이 text/html으로 유지됩니다. 그것은 다른 없는지 확인하기 위해, exit()와 스크립트를 종료 도움이 될