Добрый вечер, Уважаемые знатоки PHP!
Возникла интересная потребность, но ввиду недостатка знаний, обращаюсь к Вам.
Объясню всё по порядку.
Есть кусок адреса вида:
csXXXX.vkontakte.ru/uYYYYYYY/ZZZ ZZ/y_AAAAAAAA.jpg
где xxxx - номер сервера на котором хранится картинка
yyyyy - id пользователя
zzzzzz - номер альбомы
y_AAAAAAAA (самое интересное) - это название картинки.
когда фотографии загружаются сразу в 1 альбом эта часть ссылки на них одинаковая:
csXXXX.vkontakte.ru/uYYYYYYY/ZZZ ZZ/y_.........jpg
суть: мне попала картинка из закрытого альбомы в "прямом" виде, то есть мне известно всё кроме названий картинок в этом альбоме. нужно реализовать тупой подбор названия картинки , для названия используются цифры ,a,b,c,d,e,f и реализовать проверку - существует ли по данному адресу картинка или же 404 Not Found.
Помогите пожалуйста.
1. onemoreuser - 23 Октября, 2011 - 21:36:20 - перейти к сообщению
2. OrmaJever - 23 Октября, 2011 - 23:12:33 - перейти к сообщению
1) для проверки существования можно использовать curl
2) сколько символов в названии картинки может быть?
(Добавление)
Вобщем я сам посмотрел и там 8 знаков, это выходит 4 294 967 296 комбинаций, это очень много даже для сотни потоков.
2) сколько символов в названии картинки может быть?
(Добавление)
Вобщем я сам посмотрел и там 8 знаков, это выходит 4 294 967 296 комбинаций, это очень много даже для сотни потоков.
3. onemoreuser - 24 Октября, 2011 - 00:49:45 - перейти к сообщению
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?php
- $main='http://csXXXXX.vkontakte.ru/uYYYYYYY/ZZZZZZZZ/y_';
- for($k=1;$k<1000;$k++)
- {
- $r="";
- for($i=1;$i<9;$i++)
- {
- $n=rand(0,15);
- switch ($n) {
- case 10:
- $n="a";
- break;
- case 11:
- $n="b";
- break;
- case 12:
- $n="c";
- break;
- case 13:
- $n="d";
- break;
- case 14:
- $n="e";
- break;
- case 15:
- $n="f";
- break;
- }
- $r=$r.$n;
- }
- $s=$main . $r.".jpg";
- $ch = curl_init($s);
- $fp = fopen("ex.txt", "w");
- curl_setopt($ch, CURLOPT_FILE, $fp);
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_exec($ch);
- curl_close($ch);
- fclose($fp);
- $sock = fopen ("ex.txt", "r");
- $t='';
- $t.= fgets($sock);
- if (strlen($t)>10)
- {
- echo $s ;
- echo " ";
- }
- }
- fclose($sock);
- ?>
вот что делаю я.