php 断点续传视频音频


配合html5的video 标签,实现php加载视频 可以拖动进度条

这样就可以在php里进行权限判断等操作了。

$v = file_get_contents("3.mp4");
echo $v;

这样也能播放,但是不能拖动进度条

<?php
 
// 文件名
$filename = "pai.mp4";
 
// 文件路径
$location = 'mv2/' . $filename;
 
// 后缀
$extension = substr ( strrchr ( $filename, '.' ), 1 );
 
if ($extension == "mp4") {
    $mimeType = "video/mp4";
} else if ($extension == "ogg") {
    $mimeType = "audio/ogg";
}
 
if (! file_exists ( $location )) {
    header ( "HTTP/1.1 404 Not Found" );
    return;
}
 
$size = filesize ( $location );
$time = date ( 'r', filemtime ( $location ) );
 
$fm = @fopen ( $location, 'rb' );
if (! $fm) {
    header ( "HTTP/1.1 505 Internal server error" );
    return;
}
 
$begin = 0;
$end = $size - 1;
 
if (isset ( $_SERVER ['HTTP_RANGE'] )) {
    if (preg_match ( '/bytes=\h*(\d+)-(\d*)[\D.*]?/i', $_SERVER ['HTTP_RANGE'], $matches )) {
        // 读取文件,起始节点
        $begin = intval ( $matches [1] );
 
        // 读取文件,结束节点
        if (! empty ( $matches [2] )) {
            $end = intval ( $matches [2] );
        }
    }
}
 
    // writeover("mv2/qq.txt",$begin." - ".$end."\r\n",'ab+');
 
 
if (isset ( $_SERVER ['HTTP_RANGE'] )) {
    header ( 'HTTP/1.1 206 Partial Content' );
} else {
    header ( 'HTTP/1.1 200 OK' );
}
 
header ( "Content-Type: $mimeType" );
header ( 'Cache-Control: public, must-revalidate, max-age=0' );
header ( 'Pragma: no-cache' );
header ( 'Accept-Ranges: bytes' );
header ( 'Content-Length:' . (($end - $begin) + 1) );
 
if (isset ( $_SERVER ['HTTP_RANGE'] )) {
    header ( "Content-Range: bytes $begin-$end/$size" );
}
 
header ( "Content-Disposition: inline; filename=$filename" );
header ( "Content-Transfer-Encoding: binary" );
header ( "Last-Modified: $time" );
 
//$begin++;  如果不读取第一个字节
$cur = $begin;
 
// 定位指针
fseek ( $fm, $begin, 0 );
 
while ( ! feof ( $fm ) && $cur <= $end && (connection_status () == 0) ) {
    print fread ( $fm, min ( 1024 * 16, ($end - $cur) + 1 ) );
    $cur += 1024 * 16;
}
 
?>
如果你是一名技术人员可加我QQ 2651-0442-02,如果你是java技术人还可以加入QQ群 1784-9136-0
你将得到的不仅仅是技术的交流,还有职业机会,人生解惑.
首发地址:月小升博客https://java-er.com/blog/php-down-cut/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
此条目发表在 PHP 分类目录,贴了 , 标签。将固定链接加入收藏夹。
既然来了,就评论一下,不会怀孕的

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">