AAA Главная
Примеры PHP Примеры JavaScript Примеры Ajax Примеры CSS,HTML

Скачать часть файла с докачкой с использованием Curl

Следующий пример позволяет скачать некоторую часть из файла с сервера.

function isAcceptRangeSupported($url) {
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_HEADER, 1);
	curl_setopt($ch, CURLOPT_NOBODY, 1);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	$content = curl_exec($ch);
	curl_close($ch);

	$content = trim(strtolower($content));
	$headers = explode("\n", $content);

	foreach ($headers as $val) {
		$val = trim($val);
		return ((substr($val, 0, 13) == "accept-ranges") && (strpos($val, "bytes")!==false) );
	}
	return false;
}

function Read($url, $position, $size) {

	$hdr = array("Range: bytes=".$position."-".($position + $size));

	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_HTTPHEADER, $hdr);
	$content = curl_exec($ch);
	curl_close($ch);

	return $content;

}

$file="http://htmlweb.ru/download/test.rar";
if (isAcceptRangeSupported($file)) {
	echo "Докачка поддерживается сервером<br>\n";
	// читаем из файла с адреса 1Кб блок размером 512байт
	echo Read("$file, 1024, 512);
} else
	echo "Докачка НЕ поддерживается сервером<br>\n";

. Таким образом Вы сможете заплатить за Комплект громкой связи ck- 100 CarKit Euro 2 источник.

© Copyright 2008-2016 by KDG