Как можно сделать? Php реферрер

12
PromoMsater
На сайте с 11.05.2010
Offline
120
1251

Всем привет. Подскажите такую штуку...

Есть сайт (мой). На нем ссылка "скачать" ведет на урл вида http://platnik.ru/

Как сделать, что-бы юзеры, пришедшие допустим с сайта partnerka.ru при нажатии на ссылку "скачать" перекидывались на http://platnik2.ru/ ?

Готов немного заплатить за помощь :rolleyes:

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

$linkurl="http://normalurk/file.zip";

if (preg_match('@partnerka.ru@smi',$_SERVER['HTTP_REFERER']))

{

$linkurl="http://platnik2.ru/";

}

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
sabotage
На сайте с 14.02.2007
Offline
192
#2

LEOnidUKG, зачем preg_match, зачем m и s? Достаточно stripos.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#3
sabotage:
LEOnidUKG, зачем preg_match, зачем m и s? Достаточно stripos.

А что? Типа на 0,000000001% дольше будет работать?

sabotage
На сайте с 14.02.2007
Offline
192
#4

Ну, если ты отталкиваешься с позиции “работает и хер с ним”, то да. Забивай и дальше гвозди микроскопом.

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#5
sabotage:
Ну, если ты отталкиваешься с позиции “работает и хер с ним”, то да. Забивай и дальше гвозди микроскопом.

Бла-бла-бла-бла... По теме есть, что сказать?

Мой скрипт не верно выполняет функцию? Нет

Скрипт работает медленно? Нет

А! Наверное, скрипт такой твоя религия не принимает, ну тогда уж извини, если обидел 🍿

[umka]
На сайте с 25.05.2008
Offline
456
#6

sabotage, опытный пользователь сёрча всегда зрит вперёт! Когда посещаемость сайта ТС-а вырастет в 1/0,000000001 раз, LEOnidUKG с радостью поможет всё оптимизировать за определённое количество монет :D

Лог в помощь!
fa2m
На сайте с 07.09.2011
Offline
23
#7

Цитата:

"Подсказка: Не используйте функцию preg_match(), если необходимо проверить наличие подстроки в заданной строке. Используйте для этого strpos() либо strstr(), поскольку они выполнят эту задачу гораздо быстрее."

Источник: http://www.php.su/functions/?preg_match

Встречи в Днепре /ru/forum/736064 (/ru/forum/736064) Беклинк за копейку. Удобный сервис анализа обратных ссылок. (http://backlink.page-weight.ru/)
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#8
поскольку они выполнят эту задачу гораздо быстрее.

Ладно, уже сам провёл тесты. Ну есть ессесно различия, но после большого количества написания парсеров и грабберов, уже забываешь про другие, более мелкие функции :)

dkameleon
На сайте с 09.12.2005
Offline
386
#9
LEOnidUKG:
А тесты можно поглядеть? А то потом всё проверяют и выясняется, что руководство устарело, функции уже давно переписаны и т.п.

это 100%

если не трогать регистр, то там чуть ли не низкоуровневая функция сравнения участка памяти и всё.

регулярки ясное дело сложнее - надо разобрать саму регулярку на составляющие как минимум.





но вообще решение с регуляркой получится изящнее, так как с поиском строки не так легко разруливаются ситуации типа:

www.partnerka.ru

ns1.partnerka.ru

levayapartnerka.ru

ПС. а я бы вообще parse_url заюзал :)

Дизайн интерьера (http://balabukha.com/)
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#10
dkameleon:
это 100%
если не трогать регистр, то там чуть ли не низкоуровневая функция сравнения участка памяти и всё.
регулярки ясное дело сложнее - надо разобрать саму регулярку на составляющие как минимум

Да регулярка более универсальная вещь. Там и нет проблем с регистром и утф8 и ещё мелкие приколы, типа "===" для strpos

По скорости быстрее, НО, шаг влево или шаг вправо = расстрел :)

---------- Добавлено 20.08.2012 в 03:54 ----------

dkameleon:

ПС. а я бы вообще parse_url заюзал :)

Да он как регулярка по скорости. Выборка из 10 млн. циклов, результат в секундах.

STRPOST: 3

PREG_MATCH:13

parse_url:12

НО!!! Люди! Это 10 миллионов циклов :)

Это к серваку должно обращаться столько человек, что в реальной жизни не встретишь ибо при таком количестве там уже кэши результатов и т.п.

А теперь давайте проверим на разных цифрах.

1000 циклов

PREG_MATCH:0

parse_url:0

STRPOST: 0

Итого: Разницы для человека никакой.

10000 циклов

PREG_MATCH:0

parse_url:0

STRPOST: 0

Итого: Разницы для человека никакой.

100000 циклов

PREG_MATCH:1 (иногда 0, поэтому результат не значительный)

parse_url:0

STRPOST: 0

Итого: Разницы для человека никакой.

1000000 циклов

PREG_MATCH:1

parse_url:1

STRPOST: 1

Итого: Разницы для человека никакой. Все функции работают одинаково.

Ну теперь всё ясно? :)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий