ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

12.03.2009, 15:17
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Сообщение от diznt
Народ встречаю всегда кое где символ
->
Что это? Где про него можно почитать?
Вроде обращение к объекту...
|
|
|

12.03.2009, 18:36
|
|
Постоянный
Регистрация: 31.01.2008
Сообщений: 643
Провел на форуме: 6128108
Репутация:
445
|
|
Сообщение от diznt
Народ встречаю всегда кое где символ
->
Что это? Где про него можно почитать?
ап
|
|
|

12.03.2009, 19:34
|
|
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме: 347573
Репутация:
185
|
|
Для доступа к полям структуры через указатель на структуру служит операция стрелочка, которая обозначается двумя символами −> (минус и знак больше), их нужно рассматривать как одну неразрывную лексему (т.е. единый знак, единое слово). Пусть S — имя структуры, f — некоторое поле структуры S, p — указатель на структуру S. Тогда выражение
p−>f
обозначает поле f структуры S (само поле, а не указатель не него!). Это выражение можно записать, используя операцию звездочка (доступ к объекту через указатель),
p−>f ~ (*p).f
но, конечно, первый способ гораздо нагляднее. (Во втором случае круглые скобки вокруг выражения *p обязательны, поскольку приоритет операции точка выше, чем операции звездочка.)
В ПХП нет указателей, но операция -> используется для получения доступа к методам и свойствам объекта.
|
|
|

13.03.2009, 00:40
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме: 1284900
Репутация:
399
|
|
Сообщение от diznt
Народ встречаю всегда кое где символ
->
Что это? Где про него можно почитать?
Читайте про ООП в PHP.
Символ -> используется для обращения к методу или полю обьекта.
Т.е.
Например у нас есть класс "test_class", внетри него есть переменная $param, и функция t_func();
Если мы хотим обратиться к ним внутри этого же класса то мы пишем:
PHP код:
$this->param=4;
$this->t_func();
А если обращаемся из основного документа к которому подключили этот класс, то:
PHP код:
$test_object = new test_class;
$test_object->param=3;
$test_object->t_func();
И это рекомендую почитать:
http://php.su/learnphp/phpoo/?classes
|
|
|

12.03.2009, 16:13
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
PHP код:
<?
$text="123456789sdfkjnsodfnsdnfjsn";
preg_match('|([0-9]+)|',$text,$out);
echo $out[0];
?>
|
|
|

12.03.2009, 17:24
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
Хех, а ведь в регулярках есть дигит \d
PHP код:
<?
$text="7902bdfzss666";
preg_match('/([\d]+)/',$text,$out);
echo $out[0]
?>
|
|
|

12.03.2009, 17:45
|
|
Участник форума
Регистрация: 24.11.2008
Сообщений: 205
Провел на форуме: 1123418
Репутация:
362
|
|
Сообщение от mailbrush
Хех, а ведь в регулярках есть дигит \d
PHP код:
<?
$text="7902bdfzss666";
preg_match('/([\d]+)/',$text,$out);
echo $out[0]
?>
=\ тогда уже
PHP код:
preg_match('/(\d+)/',$text,$out);
|
|
|

13.03.2009, 00:04
|
|
Познающий
Регистрация: 11.03.2009
Сообщений: 70
Провел на форуме: 251358
Репутация:
6
|
|
Добрый вечер, ачатовцы! =)
Подскажите пожалуйста или дайте скрипт(ы) чтобы при заливки картинки на сайт она обесцвечивалась(становила ь чёрно-белая)
|
|
|

13.03.2009, 00:05
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
Было уже, именно в этой теме, юзай поиск:
PHP код:
<pre>
<?
@set_time_limit(0);
@ini_set("display_errors","1");
$s_file="1.jpg"; //Файл исходник
$r_file="2.jpg"; //Куда сохранить результат
wb($s_file,$r_file); //Запускаем функцию преобразования картинки
/* Функция для преобразования цветной картинки в черно-белую */
Function wb($file1,$file2) {
//Получаем данные о картинке (высота и ширина)
list($width, $height) = getimagesize($file1);
// Начинаем работу над исходником
$source = imagecreatefromjpeg($file1);
$bwimage= imagecreate($width, $height);
//Создаем 256 цветную палитру
for ($c=0;$c<256;$c++)
{
$palette[$c] = imagecolorallocate($bwimage,$c,$c,$c);
}
//Функция для преобразования rgb-пикселей в черно-белый цвет
function yiq($r,$g,$b)
{
return (($r*0.299)+($g*0.587)+($b*0.114));
}
//Считываем цветовые пиксели (один за другим)
for ($y=0;$y<$height;$y++)
{
for ($x=0;$x<$width;$x++)
{
$rgb = imagecolorat($source,$x,$y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
//А здесь мы преобразуем все цветные пиксели в черно-белые с помощью функции yiq
$gs = yiq($r,$g,$b);
imagesetpixel($bwimage,$x,$y,$palette[$gs]);
}
}
// Сохраняем нашу получившуюся картинку
imagejpeg($bwimage,$file2);
ImageDestroy($bwimage);
Echo "Done";
}
?>
</pre>
|
|
|

13.03.2009, 02:18
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме: 1284900
Репутация:
399
|
|
Старт.
Да и вообще, тем кто решил заняться PHP:
Первый скрипт на PHP я написал месяц назад.(давно хотел посмотреть почему этот язык так популярен, да ещё и свободное время появилось)
Для первого эксперимента было выбрано написание простенького парсера.
-Почему?
1) Разобраться со стандартными средствами языка. (Условия, циклы, работа со строками, работа с переменными, функции, процедуры)
2) Разобраться с регулярными выражениями.
3) Разобраться с тем как работать с MySql из под PHP.(парсер заносил результат в таблицу БД)
4) Разобраться с методами подключения к удалённым сайтам (cUrl, сокеты)
Вооружившись книгой(купленной за год до этого  ) и гуглом, я написал парсер для торрент движка tbdev за 2 дня.
В ходе написания были выполнены все поставленные выше задачи.
Рекомендую изначально привыкать к использованию функций.
С чего я начал:
1. Достал скрипт который подключался к удалённой странице и заносил её содержимое в переменную.
Подправил этот скрипт под себя, и занёс в функцию.
2. Сохранил 1 из страниц которую парсер должен читать на хард. Начал писать парсер(отдельный скрипт который читал ХТМЛ c харда) для этой страницы. После написания загнал его код в отдельную функцию.
3. Начал писать скрипт который заносил данные в MySql, и тоже запихнул его в отдельную функцию.
В итоге у меня появились следующие функции:
1. Функция скачивания страцицы. (принимала ссылку и возвращала текст страницы в текстовой переменной)
2. Функция парсер. (принимала тексторую переменную с кодом страницы и возвращала массив с данными)
3. Функция сохранения данных. (принимала массив данных и заносила его в нужные колонки таблицы MySql)
Удобство такого метода написания программ в том, что каждую функцию мы пишем и отлаживаем отдельно, после чего забываем о ней и переходим к следующей функции.(решаем каждую проблему отдельно)
Далее я стал разбираться с ООП, и переписал скрипт в виде класса.
В tbdev ссылки формируются так:
PHP код:
http://tb.SITE.ru/details.php?id=1 //где ID-номер раздачи
Скрипт для использования класса, стал выглядеть примерно так:
PHP код:
<?
include ("pars.inc"); //подключаем свой класс
$par = new Pars(); //создаём обьект
for ($i=500; $i<2500; $i++) { //указываем номера раздач для парсинга
$par->Go($i); //Запускаем парсер
}
?>
Это конечно не лучшее применение ООП, но оно позволяет разобраться что к чему.
В итоге, на приобретение начальных навыков чтения несложного кода ушло 3 дня.
Последний раз редактировалось Gray_Wolf; 13.03.2009 в 02:34..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|