作者 lyh

gx

@@ -76,53 +76,11 @@ class FileController @@ -76,53 +76,11 @@ class FileController
76 $this->response('指定文件已被系统删除!', Code::USER_ERROR); 76 $this->response('指定文件已被系统删除!', Code::USER_ERROR);
77 } 77 }
78 $size = $info['size']; 78 $size = $info['size'];
  79 + header("Content-Length: ".$size);
79 // 设置Content-Type头部 80 // 设置Content-Type头部
80 - if($info['type'] == 'mp4'){  
81 - $header['Content-Type'] = 'video/' . $info['type'];  
82 - }  
83 - // 设置Accept-Ranges头部  
84 - $header['Accept-Ranges'] = 'bytes';  
85 - // 检查是否有范围请求  
86 - if (isset($_SERVER['HTTP_RANGE'])) {  
87 - $range = $_SERVER['HTTP_RANGE'];  
88 - $ranges = explode('-', substr($range, 6));  
89 - $start = intval($ranges[0]);  
90 - $end = $size - 1;  
91 - if (!empty($ranges[1])) {  
92 - $end = intval($ranges[1]);  
93 - }  
94 - $length = $end - $start + 1;  
95 - // 设置部分响应头部  
96 - $header['Content-Length'] = $length;  
97 - $header['Content-Range'] = 'bytes ' . $start . '-' . $end . '/' . $size;  
98 - // 发送206 Partial Content状态码  
99 - header('HTTP/1.1 206 Partial Content');  
100 - header('Status: 206 Partial Content');  
101 - header('Accept-Ranges: bytes');  
102 - header('Content-Range: bytes ' . $start . '-' . $end . '/' . $size);  
103 - // 读取部分内容并发送响应  
104 - $file = fopen($path, 'rb');  
105 - fseek($file, $start);  
106 - $buffer = 1024 * 8; // 设置缓冲区大小  
107 - while (!feof($file) && ($p = ftell($file)) <= $end) {  
108 - if ($p + $buffer > $end) {  
109 - // 最后一块缓冲区  
110 - $buffer = $end - $p + 1;  
111 - }  
112 - echo fread($file, $buffer);  
113 - flush(); // 将输出刷新到浏览器  
114 - }  
115 - fclose($file);  
116 - exit;  
117 - }  
118 - // 无范围请求,发送完整文件  
119 - $header['Content-Length'] = $size;  
120 - $content = file_get_contents($path);  
121 - // 发送完整响应  
122 - foreach ($header as $name => $value) {  
123 - header("$name: $value");  
124 - }  
125 - echo $content; 81 + header("Content-Type: video/mp4");
  82 + // 发送完整文件
  83 + readfile($path);
126 exit; 84 exit;
127 } 85 }
128 86
@@ -40,6 +40,8 @@ class HrLogic extends BaseLogic @@ -40,6 +40,8 @@ class HrLogic extends BaseLogic
40 foreach ($this->model::specieField() as $v){ 40 foreach ($this->model::specieField() as $v){
41 $param = $this->setJson($v,$param); 41 $param = $this->setJson($v,$param);
42 } 42 }
  43 + var_dump($param);
  44 + die();
43 return parent::save($param); 45 return parent::save($param);
44 } 46 }
45 47