alexz15
Постоялец
- Регистрация
- 3 Окт 2008
- Сообщения
- 394
- Реакции
- 194
- Автор темы
- #1
Здравствуйте.
У меня такая задача:
я веду поиск по определенным картинкам, например с номерами как 12345. они находятся по адресу sayt.ru/12345.jpg и т.д.
Т.е. я просто отправляю get запрос из формы (12345) и открывается адрес с картинкой (в теге < img >). Но если картинки по этому адресу нет, то происходит редирект 302 (на сайте с картинками). А мне нужно автоматически распознать редирект и начать поиск по другому критерию, например 12345-2.
Скажите, каким образом мозно распознать редирект и начать новый поиск? Я пробовал с помощью этого:
работает, но открывается очень долго.
тогда я попробовал с cURL:
Но если редирект, то пишет: 302 Found
Как можно распознать редирект? Может есть другие способы кроме этих. Заранее благодарен.
У меня такая задача:
я веду поиск по определенным картинкам, например с номерами как 12345. они находятся по адресу sayt.ru/12345.jpg и т.д.
Т.е. я просто отправляю get запрос из формы (12345) и открывается адрес с картинкой (в теге < img >). Но если картинки по этому адресу нет, то происходит редирект 302 (на сайте с картинками). А мне нужно автоматически распознать редирект и начать поиск по другому критерию, например 12345-2.
Скажите, каким образом мозно распознать редирект и начать новый поиск? Я пробовал с помощью этого:
PHP:
$size = getimagesize($full_url);
$fp = fopen($full_url, "rb");
if ($size && $fp) {
header("Content-type: {$size['mime']}");
fpassthru($fp);
exit;
} else { ...
тогда я попробовал с cURL:
PHP:
$uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $full_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
header("Content-type: {$size['mime']}");
$content = curl_exec($ch);
$content="HTTP/1.1 ".curl_getinfo($ch,CURLINFO_HTTP_CODE).$content;
$out=explode("\r\n",$content);
return $out;
curl_close($ch);
Как можно распознать редирект? Может есть другие способы кроме этих. Заранее благодарен.