<?php
// Отключаем ограничение времени выполнения скрипта
set_time_limit(0);
/**
* Получить контент
* @param string $url
* @return string
*/
function getContent($url)
{
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Cookie: JSESSIONID=6A48319DC3AAAEF04B94797392F84CFE'
),
CURLOPT_USERAGENT => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',
CURLOPT_SSL_VERIFYPEER => false,
));
$response = curl_exec($curl);
curl_close($curl);
return $response;
}
// Название книги, чтобы создать папку, желательно латиницей
$bookName = 'book_1';
// Ссылка
$bookUrl = 'https://digitalna.nb.rs/wb/NBS/RukopisiIKnjige/SD_9104CA8990B0A63FC8FE8ACB95BC484A?pageIndex=';
// Кол-во страниц
$pages = 210;
// Создать папку temp если она не существует
if (!is_dir(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'temp')) {
mkdir(__DIR__ . DIRECTORY_SEPARATOR . 'temp');
}
// Создать папку книги если она не существует
if (!is_dir(__DIR__ . DIRECTORY_SEPARATOR . 'temp' . DIRECTORY_SEPARATOR . $bookName)) {
mkdir(__DIR__ . DIRECTORY_SEPARATOR . 'temp' . DIRECTORY_SEPARATOR . $bookName);
}
//Загрузить картинку и положить в папку книги
for ($i = 1; $i <= $pages; $i++) {
$page = str_pad($i, 5, "0", STR_PAD_LEFT);
echo $page, ' - ';
$pageUrl = $bookUrl . $page;
$filePath = __DIR__ . DIRECTORY_SEPARATOR . 'temp' . DIRECTORY_SEPARATOR . $bookName . DIRECTORY_SEPARATOR . $page . '.jpg';
$content = getContent($pageUrl);
echo $content && file_put_contents($filePath, $content) ? 'OK' : 'ERROR', '<br>';
sleep(rand(1, 5));
flush();
}