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

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..
|
|
|

13.03.2009, 02:23
|
|
Постоянный
Регистрация: 19.03.2007
Сообщений: 684
Провел на форуме: 3152874
Репутация:
1020
|
|
Gray_Wolf заведи себе блог и пиши там, извини конечно за резкость но тут твоим статьям немного не место.
|
|
|

13.03.2009, 02:31
|
|
Участник форума
Регистрация: 12.11.2006
Сообщений: 213
Провел на форуме: 347573
Репутация:
185
|
|
AkyHa_MaTaTa, +1
|
|
|

13.03.2009, 02:38
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме: 1284900
Репутация:
399
|
|
2AkyHa_MaTaTa, -=Static=- какаяж это статья? Этот так, бред сумашедшего.
(сам незнаю почему но у меня врождённое отторжение ко всему что касается блогов, дневников, etc.)
|
|
|

13.03.2009, 02:46
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
а по мне, так парень дело пишет, а не хрень, как 80% здесь
|
|
|

13.03.2009, 02:52
|
|
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме: 1754802
Репутация:
380
|
|
Если посмотреть на звание топа то - "[php] Новичкам: задаем вопросы", конечно никто не спорит, может он и дело пишет, но немного в не том топе, я также могу написать как я 2 года назад начел разберать с пхп, да и каждый может, но имхо в определеном топе.
|
|
|

13.03.2009, 10:11
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Pashkela +1
То что он написал по крайней мере 80% отписывающихся в этой теме даже во сне не видели)
|
|
|

13.03.2009, 16:08
|
|
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме: 6075534
Репутация:
2731
|
|
PHP код:
<?php
echo "<title>Special For DJ</title>
<b>Сюда пишешь аськи в виде \"Много текста бла бла бла 123456;34%7№№ блаба\" а скрипт выберет только аськи!</b>
<form method=post>
<textarea name=uins rows=18 cols=60></textarea><br>
<input type=submit value='Давай ка сотрем лишнее!'>";
if(isset($_POST['uins']))
{
$uins=explode("\r\n",$_POST['uins']);
echo "<br><br><br><b>Result:</b><br><textarea rows=18 cols=20>";
for($i=0;$i<=count($uins);$i++)
{
preg_match("/([0-9]{6,9}[;]{1}[\S]{1,8})/",$uins[$i],$out);
echo $out[$i]."\r\n";
}
echo "</textarea>";
}
?>
Почему даный скрипт обрабатывает только первых два номера?
|
|
|

13.03.2009, 16:59
|
|
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме: 791766
Репутация:
61
|
|
Есть мега логическая задача для браузерной игры : )
В игре есть карта (возьмём 200*200)
Карта собой представляет таблицу в БД по кадой точке...тоесть x1 y1, x1 y2, x1 y3....x200 y200
Есть ячейка element которая отвечает за занятось клетки на игровом поле.
Центр карты естественно точка x100 y100
Игрок при старте выбирает направление в котором он хочет появиться (северо-запад, юго-восток и т.д.)
Допустим он выбрал Юго-Восток значит он распологается в квадрате x100-x200 y100-y200 (нижний-правый квадрат)
Задача: расположить игроков начиная с центра карты...(чтоб пресутствовало между ними растояние от 1 до 4 клеток и чтоб они друг на друга не попали)
Задавайте вопросы, по поводу что уточнить.
|
|
|

13.03.2009, 17:01
|
|
Постоянный
Регистрация: 07.03.2009
Сообщений: 357
Провел на форуме: 1284900
Репутация:
399
|
|
2 mailbrush а вы почитайте описание функции preg_match 
И замените
на
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|