<?
include 'conf.php';
$p = abs(intval($_GET['p']));
$q = htmlspecialchars(trim($_GET['q']));
include 'func/simple_html_dom.php';
switch(htmlspecialchars($_GET['m'])){
default:
$titl = 'Поиск картинок';
include 'head.php';
echo ' <div class="title">Поиск картинок </div>
<div class="main">
<form action="" method="get">
<input type="hidden" name="m" value="search"/>
Введите запрос:<br/>
<input type="text" name="q"/><br/>
<input type="submit" value="Искать"/>
</form>
</div>
';
include 'foot.php';
break;
case 'search':
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,'https://yandex.ru/images/touch/search?text='.$q.'&p='.$p.'');
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 3 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36');
curl_setopt($curl, CURLINFO_HEADER_OUT, false);
curl_setopt($curl, CURLOPT_REFERER, 'https://yandex.ru/images/touch/search?text='.$q.'&p='.$p.'');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 60);
curl_setopt($curl, CURLOPT_COOKIEJAR, dirname(__FILE__).'/tmp/s.dat');
curl_setopt($curl, CURLOPT_COOKIEFILE, dirname(__FILE__).'/tmp/s.dat');
$res = curl_exec($curl);
$data = new simple_html_dom();
$data->load($res);
curl_close($curl);
if ($data == false)
{
echo '<div class="menu">Сайт временно не работает! Приносим свои извинения!</div>';
exit;
}
$titl = ''.$q.' | Поиск картинок';
include 'head.php';
echo '<div class="title">Поиск картинок '.$q.'</div>';
preg_match_all('#"normal","preview":(.*)"(.*)"origin":\{"url":"(.*)"#sU',$data,$categ);
if($categ[1]){
for($i = 0; $i<count($categ[1]); $i++)
{
echo '<a href="'.$folder.'down/'.base64_encode($categ[3][$i]).'" class="main"><img src="'.$folder.'screen/'.base64_encode($categ[3][$i]).'" width="'.$widtht.'" height="'.$height.'"></a>';
}
preg_match('#text">Ещё картинки(.*)>#sU',$data,$next);
if($p==0){
$page = '<b>['.($p + 1).']</b> <a href="'.$folder.'?m=search&q='.$q.'&p='.($p + 1).'">Далее →</a> <br/>';
}else{
if($next[1]){
$page = '<a href="'.$folder.'?m=search&q='.$q.'&p='.($p - 1).'">← Назад</a> <b>['.($p + 1).']</b> <a href="'.$folder.'?m=search&q='.$q.'&p='.($p + 1).'">Далее →</a><br/>';
}else{
$page = ' <a href="'.$folder.'?m=search&q='.$q.'&p='.($p - 1).'">← Назад </a> <b>['.($p + 1).']</b> <br/>';
}
}
echo '<div class="main">'.$page.'</div>';
}else{
echo '<div class="main">Не найдено</div>';
}
include 'foot.php';
$data->clear();
unset($data);
break;
case 'screen':
$url = ''.htmlspecialchars(base64_decode($_GET['img'])).'';
$inf=getimagesize($url);
if ($inf){
if ($inf['mime'] == 'image/jpeg'){
header('Content-Type: image/jpeg');
$img=imagecreatefromjpeg($url);
imagejpeg($img);
}
elseif ($inf['mime'] == 'image/png'){
header('Content-Type: image/png');
$img=imagecreatefrompng($url);
imagepng($img);
}
elseif ($inf['mime'] == 'image/gif'){
header('Content-Type: image/gif');
$img=imagecreatefromgif($url);
imagegif($img);
}else{
header('Content-Type: '.$inf['mime']);
echo file_get_contents($url);
}
}else{
header('Location: '.$folder.'no_image.gif');
}
break;
case 'd':
$url = ''.htmlspecialchars(base64_decode($_GET['img'])).'';
$inf=getimagesize($url);
if ($inf){
if ($inf['mime'] == 'image/jpeg'){
$format = 'jpeg';
}
elseif ($inf['mime'] == 'image/png'){
$format = 'png';
}
elseif ($inf['mime'] == 'image/gif'){
$format = 'gif';
}
function extension($path)
{
return pathinfo($path, PATHINFO_EXTENSION);
}
$info = get_headers($url,1);
foreach ($info as $key=>$value)
{
header(''.$key.': '.str_replace('', '', $value).'');
header('Content-Disposition: attachment; filename=['.$_SERVER['HTTP_HOST'].']_'.rand(1111111111,9999999999).'.'.$format.'');
header(''.$key.': '.$value.'');
}
readfile($url);
}else{
echo 'Файл не доступен сейчас';
}
break;
}
?>