2016-05-06 4 views
0

Alrighty так, так как класс я смотрел не для удаленных файлов, но вместо этого для локальных файлов .. Я решил сделать некоторый поиск и нашел этот Curl код, который кажется многообещающим на самом деле играть REMOTE адреса URIПотоковое видео с использованием PHP?

$head = array_change_key_case(get_headers($path, TRUE)); 
    $filesize = $head['content-length']; 

    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $path); 
    curl_setopt($curl, CURLOPT_RANGE, max (0, $filesize - 128) . '-' . max (0, $filesize - 1)); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
    $content = curl_exec($curl); 

    header("Content-Type: video/mp4"); 
    header("Cache-Control: max-age=2592000, public"); 
    header("Expires: ".gmdate('D, d M Y H:i:s', time()+2592000) . ' GMT'); 
    header("Last-Modified: ".gmdate('D, d M Y H:i:s', @filemtime($this->path)) . ' GMT'); 
    echo $content; 

Это то, что я получил до сих пор, я скопировал большинство заголовков из класса раньше, и теперь я использую cURL для этого. Я получаю тот же результат, который является только черным игроком, играющим.

А вот ответ, который я получаю, когда я echo $content

HTTP/1.1 206 Partial Content 
Server: nginx/1.4.6 (Ubuntu) 
Date: Fri, 06 May 2016 23:56:18 GMT 
Content-Type: video/mp4 
Content-Length: 128 
Last-Modified: Fri, 06 May 2016 19:07:20 GMT 
Connection: keep-alive 
ETag: "572ceb68-75445cb" 
Expires: Fri, 13 May 2016 23:56:18 GMT 
Cache-Control: max-age=604800 
Cache-Control: public 
Content-Range: bytes 122963275-122963402/122963403 
+0

Попробуйте отобразить ошибки, отметьте error_log и т. Д. –

+0

Спасибо за ответ, я действительно кое-что получил в журналах, в которых говорилось: 'filesize(): stat failed' и я ' m начинает думать, что это провалилось, потому что это удаленный URI, а не файл на сервере, возможно? –

+0

Кажется, что эта библиотека принимает только локальный файл или Amazon S3. –

ответ

0

Если это удаленный URL, проверьте ваш сервер позволяет FOPEN открывать удаленные файлы. allow_url_fopen необходимо включить в вашем php.ini

+0

Это уже включено, это не проблема. Кажется, что собственно сам класс предназначен для локальных файлов. –

+0

Жаль услышать это. Странно, потому что у вас есть сообщение die, которое указывает, что fopen не работает должным образом. –

+0

My die message указывает, что размер файла не работает и fseek, что бы это ни было. Мой fopen отлично работает –

Смежные вопросы