2009-12-06 10 views
0

원격 flv 파일을 가져 와서 PHP 및 exec 함수를 사용하여 '스트림'할 수 있는지 알고 싶습니다. 내가 좋아하는 뭔가 싶어 그래서 난 내 ENVIRONNEMENT의 '컬'을 가지고 :PHP를 사용하여 원격 FLV 가져 오기 curl

exec ('curl http://myhosts.com/myflv.flv', $out); 
print $out; 

문제가 $ 아웃 배열로 돌려 주어집니다; curl로 반환 된 'raw'스트림을 출력하고 싶습니다.

답변

1

fpassthru()을 사용할 수는 있지만 올바른 URL로 사용자를 리디렉션하는 것이 더 나을 것입니다.

$fp = fopen('http://myhosts.com/myflv.flv', 'rb'); 
fpassthru($fp); 

또는 재 :

header('Location: http://myhosts.com/myflv.flv'); 

이 생각하는 자, 당신도 당신은 단순히 사용자를 리디렉션 할 수 있다면, 어쨌든 readfile()

readfile('http://myhosts.com/myflv.flv'); 

을 사용할 수 있어야합니다, 그렇게. 그것은 더 효율적인 방법입니다.

+0

글쎄, 첫 번째 옵션이 작동하는 것 같습니다. 내 다음 거래는 PHP 실행 최대 시간 초과입니다. 내 flv가 정말 크다면 PHP는 분명히 시간 초과됩니다. 당신이 생각하는 또 다른 대안은 무엇입니까? – Disco

+0

먼저, "내 flv"라고 말하면 나는 여전히 당신이 원격 파일에 대해 이야기하고 있다고 가정합니다. 파일이 로컬에서 액세스 할 수 있으면 가장 확실하게 로컬에서 액세스해야합니다. 둘째로,'Location' 헤더를 사용하여 리디렉션하는 것이 여전히 선호되는 방법이지만, 최대 실행 시간 제한은 PHP 함수의 실행을 멈출 수 없으므로'readfile()'또는'fpassthru()'를 막을 수 없습니다. –

+0

FLV는 다른 서버에서 호스팅되므로 웹을 통해 액세스해야하는 유일한 방법은 권장 사항을 시도하는 것입니다. 감사. – Disco

관련 문제