Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 05.12.2008, 13:29   #81
Специалист
 
Аватар для Challenger
 
Регистрация: 29.08.2008
Адрес: РОССИЯ. Севастополь.
Сообщений: 430
Вес репутации: 207
Challenger - просто великолепная личностьChallenger - просто великолепная личностьChallenger - просто великолепная личностьChallenger - просто великолепная личностьChallenger - просто великолепная личностьChallenger - просто великолепная личность
Отправить сообщение для Challenger с помощью ICQ
По умолчанию

Цитата:
Сообщение от ahsinis Посмотреть сообщение
Challenger, т.е. вы считаете, что вот код этот код это прямая езда на работу
PHP код:
//Для яндекса  
$client[0]='yandex'
$client[1]='yadirect'

for (
$i=0$i<count($client); $i++) { 
$result strpos($string$client[$i]); 
if (
$result === false
 
//Действие если нет совпадений 
else 
 
//Действие если есть.... 

(при этом конечно забыв еще перевести в нижний регистр строку, в которой ищут)

А этот езда через Автралию
PHP код:
if (preg_match('/yandex|yadirect/i'$_SERVER['HTTP_USER_AGENT'] )){  
//  пишем в лог 

И конечно ваш код намного проще, быстрее, меньше подвержен ошибкам, элегантет, и короток... Ну что же это ваше мнение, не буду вас переубеждать.

ЗЫ По не равно, не идентично согласен (прошу прощения) в мануале буквально так и написано.
А каким ошибкам он подвержен? Ну используйте вы stripos(), что не быть зависимым от регистра. Я вам скажу всему свету по секрету, что регулярные выражения работают медленнее стандартных функций и их нужно применять только тогда, когда зарезервированными функциями обойтись нельзя, или когда решение становится слишком сложным.
Вот вам с использованием stripos() код, пожалуйста:
PHP код:
//Для яндекса  
$client[0]='yandex'
$client[1]='yadirect'

for (
$i=0$i<count($client); $i++) { 
$result stripos($string$client[$i]); 
if (
$result !== false
//пишем в лог

И поработав с этим кодом можно все сделать намного изящнее, чем в вашем примере:

Выносим функцию:
1) Выносим функцию CheckClient ($string) и массивы нужных значений для роботов.
2) В коде вызываем только CheckClient ($string), где $string - ид нужного бота.
__________________
Люблю все на "Ш". Шампанское, маШины, женШин...
Challenger вне форума   Ответить с цитированием
Старый 05.12.2008, 13:31   #82
Эксперт
 
Регистрация: 13.05.2008
Сообщений: 7,497
Вес репутации: 387
Апокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущее
По умолчанию

Обычно - регулярки применяются лишь в том случае, если проблему нельзя решить с помощью строковых функций, или когда регуляркой выдернуть что то проще, чем многостроковым велосипедом из строковых.
Апокалипсис вне форума   Ответить с цитированием
Старый 05.12.2008, 14:21   #83
Мастер
 
Аватар для Hanapi
 
Регистрация: 05.06.2008
Адрес: Somali
Сообщений: 648
Вес репутации: 233
Hanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущееHanapi - прекрасное будущее
По умолчанию

я понимаю ahsinis, хоть и не совсем согласен с ним регэкспы - это как болезнь.. они тяжело даются, но когда их начинаешь понимать - хочется использовать везде но тут я, пожалуй, приму позицию Challenger, т.к. его решение все же правильнее. Регэкспы, конечно, изящнее и красивее, но ф-ции - быстрее и практичнее. Регулярные выражения, в основном, используются для упрощения (уменьшения) кода - почти (не абсолютно) любую задачу можно решить строковыми ф-циями, но это будет нагромождение кода, поэтому рациональнее использовать в таких случаях регулярные выражения.

Вобщем, программирование - это не только синтаксис, это еще и тактика, где немаловажную роль играет производтельность написанного кода.
__________________
хостинг с root доступом
помог? отблагодари!
Hanapi вне форума   Ответить с цитированием
Старый 05.12.2008, 15:13   #84
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 244
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию

Цитата:
Сообщение от sergbond Посмотреть сообщение
Привыкаем писать вот так:
Постараюсь=)

Добавлено через 4 минуты
А PHP выполняется на стороне сервера или клиента?
__________________
Как дела?

Последний раз редактировалось Русская мафия; 05.12.2008 в 15:13. Причина: Добавлено сообщение
Русская мафия вне форума   Ответить с цитированием
Старый 05.12.2008, 15:14   #85
Эксперт
 
Регистрация: 13.05.2008
Сообщений: 7,497
Вес репутации: 387
Апокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущееАпокалипсис - прекрасное будущее
По умолчанию

Русская мафия, а подумать ?
И почитать www.phpfaq.ru/na_tanke ?
Апокалипсис вне форума   Ответить с цитированием
Старый 05.12.2008, 15:33   #86
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 244
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию

Апокалипсис, Спасибо, постараюсь теперь читать мануал перед тем как спрашивать=) Я вот что не нашёл. Один пхп код может выполняться двумя компьютерами одновременно? Например если у меня будет в скрипте цикл, который что то долго расчитывает. Например выполняется один цикл пол часа. Получится в это время с другого компа запустить этот скрипт?
__________________
Как дела?
Русская мафия вне форума   Ответить с цитированием
Старый 05.12.2008, 16:18   #87
Мастер
 
Аватар для DNA
 
Регистрация: 23.09.2008
Адрес: СССР
Сообщений: 683
Вес репутации: 230
DNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущее
Отправить сообщение для DNA с помощью ICQ
По умолчанию

Цитата:
Сообщение от Русская мафия Посмотреть сообщение
Один пхп код может выполняться двумя компьютерами одновременно? Например если у меня будет в скрипте цикл, который что то долго расчитывает. Например выполняется один цикл пол часа. Получится в это время с другого компа запустить этот скрипт?
Да, получится
DNA вне форума   Ответить с цитированием
Старый 05.12.2008, 16:24   #88
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 244
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию

Цитата:
Сообщение от DNA Посмотреть сообщение
Да, получится
Спасибо
__________________
Как дела?
Русская мафия вне форума   Ответить с цитированием
Старый 05.12.2008, 17:22   #89
Специалист
 
Регистрация: 31.07.2007
Адрес: кресло
Сообщений: 127
Вес репутации: 208
orko на пути к лучшему
По умолчанию

Цитата:
Сообщение от Русская мафия Посмотреть сообщение
А PHP выполняется на стороне сервера или клиента?
вообще без слов .. учитывая почти 10 страниц разговора ..

а вот мои 5 коп по теме:

при сравнении $_SERVER['HTTP_USER_AGENT'] и нашего имени бота надо избавляться от регистра
[ strtoupper() stripos() ]

регулярные выражения это хорошо, но тормознуто для этого случая
[ stripos() explode() ]

раз ту отказались от баз, то надо определить что где будет
- или для каждого бота свой файл и писать туда время, а потом тупо через file() смотреть
- или 2 файла (в один имена, в другей время)
- или все одной строкой с разделителем в 1 файл
- или ..............
orko вне форума   Ответить с цитированием
Старый 05.12.2008, 18:44   #90
Мафиози
 
Аватар для Русская мафия
 
Регистрация: 11.09.2008
Адрес: <H1></H1>
Сообщений: 1,174
Вес репутации: 244
Русская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущееРусская мафия - прекрасное будущее
По умолчанию

Цитата:
Сообщение от orko Посмотреть сообщение
раз ту отказались от баз, то надо определить что где будет
- или для каждого бота свой файл и писать туда время, а потом тупо через file() смотреть
- или 2 файла (в один имена, в другей время)
- или все одной строкой с разделителем в 1 файл
- или ..............
Уже всё сделано и работает, сохраняется в виде:

Цитата:
Yandex/1.01.001 (compatible; Win16; I)----------------------01:10:32----------------------/?name=News&op=article&sid=9
Yandex/1.01.001 (compatible; Win16; I)----------------------01:10:43----------------------/index.php?name=Pages&op=page&pid=59
Yandex/1.01.001 (compatible; Win16; I)----------------------01:11:34----------------------/?name=Info&url=www.vrmn.ru&sparam=size
Добавлено через 32 секунды
Для каждого дня создаётся свой файл.
__________________
Как дела?

Последний раз редактировалось Русская мафия; 05.12.2008 в 18:44. Причина: Добавлено сообщение
Русская мафия вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ещё вопросы по ИП от ВМ Turbo Финансовые и юридические вопросы 1 14.10.2008 12:00
Вопросы borodun Вопросы от новичков 5 11.06.2008 17:56
Вопросы.. TooL Вопросы по работе системы 3 13.04.2008 16:49
1ps - вопросы Anatoly Курилка 7 13.07.2007 13:57
Вопросы paf Вопросы по работе системы 13 14.05.2007 15:23


Часовой пояс GMT +3, время: 00:16.