PHP удаленная URL-пиявка

Я написал этот код на PHP для пиявки удаленных URL с изменением имени файла и возобновлением поддержки. это работает хорошо, но не возобновимо. в чем проблема?

фактически я поделился полученными заголовками между пользователем и удаленным сервером.
можно ли вылить таким образом URL-адреса без увеличения использования оперативной памяти?

<?php
ini_set('display_errors', '0');

function get_header($url,$header) {
$my_ch = curl_init();
curl_setopt($my_ch, CURLOPT_URL,$url);
curl_setopt($my_ch, CURLOPT_HTTPHEADER,$header);
curl_setopt($my_ch, CURLOPT_HEADER, true);
curl_setopt($my_ch, CURLOPT_NOBODY, true);
curl_setopt($my_ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($my_ch, CURLOPT_TIMEOUT, 10);
return curl_exec($my_ch);
}

$data_file = "http://dl.hexdownload.net/up/Movie/Anime/1396/07/Robots.2005.1080p.Farsi.Dubbed.Glory.HexDL.com.mkv";
$filename = 'file.mkv';

if(isset($_SERVER['HTTP_RANGE']) || isset($HTTP_SERVER_VARS['HTTP_RANGE'])) {

$my_header = getallheaders();

$i = 0;
foreach($my_header as $key => $value)
$header_curl[$i++]= $key.': '.$value;

$header_read = null;
foreach($my_header as $key => $value)
$header_read .= $key.': '.$value."\r\n";

$recieved_header = get_header($data_file,$header_curl);

$recieved_header = explode("\r\n", $recieved_header);
foreach($recieved_header as $value)
header($value);

while (!(connection_aborted() || connection_status() == 1)) {
$ctx = stream_context_create(
array(
'http'=> $header_read
)
);

readfile($data_file, false, $ctx);
}
}
else{
header('Accept-Ranges: bytes');
header("Content-Description: File Transfer");
header("Content-Type: application/otect-stream");
header('Content-Disposition: attachment; filename="'.$filename.'"');

$my_header = getallheaders();

$header_read = null;
foreach($my_header as $key => $value)
$header_read .= $key.': '.$value."\r\n";

$i = 0;
foreach($my_header as $key => $value)
$header_curl[$i++]= $key.': '.$value;

$recieved_header = get_header($data_file,$header_curl);

$recieved_header = explode("\r\n", $recieved_header);
foreach($recieved_header as $value)
header($value);

while (!(connection_aborted() || connection_status() == 1)) {
$ctx = stream_context_create(
array(
'http'=> $header_read
)
);
readfile($data_file, false, $ctx);
}
}

exit;

после двухкратной приостановки резюме я получил это сообщение:
Ошибка при загрузке!

Есть ли другой способ для пиявки URL? какие скрипты?

0

Решение

Я не думаю, что резюме это то, что вы можете справиться. Резюме зависит от сервера, который предоставляет файл.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector