PHP로 다운로드한 Flv 파일이나 mp4 파일을 재생할 수 없습니다.

PHP中文网
풀어 주다: 2023-03-02 14:18:01
원래의
3313명이 탐색했습니다.

flv 파일이나 mp4 파일을 다운로드할 때 php가 재생되지 않습니다

flv 재생 주소나 mp4 재생 주소를 POST를 통해 전송한 후 직접 다운로드하고 싶습니다. POST 데이터를 받아 POST합니다. 데이터 형식은 http://a.com/1.flv와 유사하며, 두 가지 방법으로 테스트되었습니다(다운로드를 위한 단순화된 코드만 게시됨).

<?php
$url = implode($_POST);
$file = file_get_contents($yes);
header("Content-Disposition:attachment;filename=1.flv");
echo $file;
?>
로그인 후 복사
또는 :

<?php
$url = implode($_POST);
header("Content-type:video/mpeg4");
header("Content-Disposition:attachment;filename=1.flv");
readfile($url);
exit;
?>
로그인 후 복사
1.flv 파일이 성공적으로 다운로드되었지만 다운로드 후 재생할 수 없습니다. Linux를 사용하여 http://a.com/1을 직접 wget하세요. flv를 다운로드하면 재생할 수 있습니다. PHP를 통해 직접 다운로드를 열면 오류가 발생합니다.



파일 크기를 비교해 보면 재생할 수 없는 바이트가 3바이트 더 있는 것으로 나타났습니다. 🎜>


그런 다음 vim 편집기는 파일 시작 부분에 실제로 3바이트가 더 있다는 것을 발견했지만 왜 이 3바이트를 삭제하면 재생할 수 있습니다.


온라인에서 찾을 수 없었습니다. 대답은 이와 관련하여 아무것도 찾을 수 없다는 것입니다. . 문제가 뭔지 정말 모르겠어요. = =

해결책:

이 세 캐릭터는 전설적인 BOM입니다

다운로드하는 PHP 파일이 BOM 형식의 UTF-8임을 설명하세요. Notepad++를 사용하여 살펴보세요.

아니면 모든 PHP 파일을 읽어서 제거하시겠습니까?

관련 기사:
/**
 * 移除字符串的BOM
 *
 * @param  string $str 输入字符串
 * @return string 输出字符串
 */
function removeBOM($str)
{
    $str_2 = substr($str, 0, 2);
    $str_3 = substr($str, 0, 3);//$str_2.$str{2};
    $str_4 = substr($str, 0, 4);//$str_3.$str{3};
    if ($str_3 == pack(&#39;CCC&#39;,0xef,0xbb,0xbf)) //utf-8
        return substr($str, 3);
    elseif ($str_2 == pack(&#39;CC&#39;,0xfe,0xff) || $str_2 == pack(&#39;CC&#39;,0xff,0xfe)) //unicode
        return substr($str, 2);
    elseif ($str_4 == pack(&#39;CCCC&#39;,0x00,0x00,0xfe,0xff) || $str_4 == pack(&#39;CCCC&#39;,0xff,0xfe,0x00,0x00)) //utf-32
        return substr($str, 4);
    return $str;
}
로그인 후 복사

비디오를 MP4로 변환하고 비디오 미리보기를 얻는 PHP 방법

php는 memcoder 방법을 사용하여 변환 비디오를 mp4 형식으로

PHP+FFMPEG는 자동으로 비디오를 H264 표준 Mp4 파일로 트랜스코딩합니다

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿