0
私は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;
2時間後、私はこのメッセージを持っている履歴書の一時停止: Download error!
をURLにリーチするための他の方法とは?任意のスクリプト?
本当に機能していませんか?私はこのコードを使用し、それはサイズ1.3GBのファイルをダウンロードしていました。 –
はい、再開はサポートされていません –