PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Без описания
Поиск в теме | Версия для печати
mega94
Отправлено: 21 Мая, 2015 - 22:45:38
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Сент. 2014
Помог: 0 раз(а)
[+][+]
Всем привет, питаюсь ломать простую
каптчу на данный момент читал капчу по циклам такая вот матрица:
PHP:
скопировать код в буфер обмена
(
[ 0 ] => 00000011110000011110000000011000011110000000
[ 1 ] => 00000110011000110011000000111000110011000000
[ 2 ] => 00001100001001100001100001111001100001000000
[ 3 ] => 00001100000001100001100011011001100000000000
[ 4 ] => 00001101110000110011100110011001101110000000
[ 5 ] => 00001110011000011101101100011001110011000000
[ 6 ] => 00001100001100000001101111111101100001100000
[ 7 ] => 00001100001100100001100000011001100001100000
[ 8 ] => 00000110011000110011000000011000110011000000
[ 9 ] => 00000011110000011110000000011000011110000000
)
и как из этого вырезать цифры квадратом? (картинка размером 50x20 первая цифра появляется внутри 3 до 20 пикселей ширине)
Ch_chov
Отправлено: 22 Мая, 2015 - 09:08:23
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008
Откуда: из города
Помог: 90 раз(а)
Если транспонировать массив, то можно обойтись без циклов.
PHP:
скопировать код в буфер обмена
<?PHP
// Исходные данные.
$data1 = [
'00000011110000011110000000011000011110000000' ,
'00000110011000110011000000111000110011000000' ,
'00001100001001100001100001111001100001000000' ,
'00001100000001100001100011011001100000000000' ,
'00001101110000110011100110011001101110000000' ,
'00001110011000011101101100011001110011000000' ,
'00001100001100000001101111111101100001100000' ,
'00001100001100100001100000011001100001100000' ,
'00000110011000110011000000011000110011000000' ,
'00000011110000011110000000011000011110000000' ,
] ;
// @see http://stackoverflow.com/a/3423692/272927
function transpose( $array ) {
}
// Преобразуем данные в многомерный массив.
// Транспанируем массив.
$data3 = transpose( $data2 ) ;
// Преобразуем многомерный массив в массив строк.
// Убираем промежутки между цифрами.
// Разбиваем на квадраты.
// Вычисляем хэш каждого квадрата.
// Заменяем хэши на их значения.
$hashes = [
'269fad4e6208496a3329ed02a54979fd' => 4 ,
'f912f18869b5b632799e167e8851368b' => 6 ,
'f5913361edcf4d5d10f89465832f25fe' => 9,
] ;
return $hashes [ $hash ] ;
} , $data7 ) ;
// Выводим результат.
echo implode ( $data8 ) , "\n " ; // 6946
mega94
Отправлено: 22 Мая, 2015 - 09:28:57
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Сент. 2014
Помог: 0 раз(а)
[+][+]
Ch_chov пишет: Если транспонировать массив, то можно обойтись без циклов.
PHP:
скопировать код в буфер обмена
<?PHP
// Исходные данные.
$data1 = [
'00000011110000011110000000011000011110000000' ,
'00000110011000110011000000111000110011000000' ,
'00001100001001100001100001111001100001000000' ,
'00001100000001100001100011011001100000000000' ,
'00001101110000110011100110011001101110000000' ,
'00001110011000011101101100011001110011000000' ,
'00001100001100000001101111111101100001100000' ,
'00001100001100100001100000011001100001100000' ,
'00000110011000110011000000011000110011000000' ,
'00000011110000011110000000011000011110000000' ,
] ;
// @see http://stackoverflow.com/a/3423692/272927
function transpose( $array ) {
}
// Преобразуем данные в многомерный массив.
// Транспанируем массив.
$data3 = transpose( $data2 ) ;
// Преобразуем многомерный массив в массив строк.
// Убираем промежутки между цифрами.
// Разбиваем на квадраты.
// Вычисляем хэш каждого квадрата.
// Заменяем хэши на их значения.
$hashes = [
'269fad4e6208496a3329ed02a54979fd' => 4 ,
'f912f18869b5b632799e167e8851368b' => 6 ,
'f5913361edcf4d5d10f89465832f25fe' => 9,
] ;
return $hashes [ $hash ] ;
} , $data7 ) ;
// Выводим результат.
echo implode ( $data8 ) , "\n " ; // 6946
интересный хороший подход, но сначала ругает на и
так я кавычки добавил, потом вообще PHP:
скопировать код в буфер обмена
Warning
: array_map ( ) [ function . array
- map
] : Argument
#2 should be an array in Z:\home\captcha.ru\www\index.php on line 24
Warning
: array_unshift ( ) expects parameter 1 to be
array , null given in Z
: \home\captcha
. ru\www\index
. php on line 19
Warning
: array_map ( ) [ function . array
- map
] : Argument
#2 should be an array in Z:\home\captcha.ru\www\index.php on line 30
Warning
: array_filter ( ) expects parameter 1 to be
array , null given in Z
: \home\captcha
. ru\www\index
. php on line 33
Warning
: array_chunk ( ) expects parameter 1 to be
array , null given in Z
: \home\captcha
. ru\www\index
. php on line 36
Warning
: array_map ( ) [ function . array
- map
] : Argument
#2 should be an array in Z:\home\captcha.ru\www\index.php on line 39
Warning
: array_map ( ) [ function . array
- map
] : Argument
#2 should be an array in Z:\home\captcha.ru\www\index.php on line 39
Warning
: array_map ( ) [ function . array
- map
] : Argument
#2 should be an array in Z:\home\captcha.ru\www\index.php on line 49
Warning
: implode ( ) [ function . implode ] : Argument must be an
array in Z
: \home\captcha
. ru\www\index
. php on line
52
Ch_chov
Отправлено: 22 Мая, 2015 - 09:41:44
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008
Откуда: из города
Помог: 90 раз(а)
Потому что PHP пора обновить. Вот пример для PHP 5.3
http://sandbox.onlinephpfunctions.com/code/3334f24ac1e51b0533ef49f6eacaeeffeb802c61
(Отредактировано автором: 22 Мая, 2015 - 09:43:52)
mega94
Отправлено: 22 Мая, 2015 - 09:48:46
Новичок
Покинул форум
Сообщений всего: 53
Дата рег-ции: Сент. 2014
Помог: 0 раз(а)
[+][+]
Ch_chov пишет: Потому что PHP пора обновить. Вот пример для PHP 5.3
http://sandbox.onlinephpfunctions.com/code/3334f24ac1e51b0533ef49f6eacaeeffeb802c61
у меня PHP Version 5.3.13 стоит на примере что вы мне дали, работает на PHP 5.4
спасибо работает
(Отредактировано автором: 22 Мая, 2015 - 10:19:58)
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB