Php вывести свой домен

Php вывести свой домен

Здесь могла бы быть ваша реклама

Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006
Откуда: Israel

Секрет
Теперь, когда вы уже наверняка второпях отправили свой запрос,
я расскажу вам простой секрет, который сэкономит вам уйму ожиданий,
даже если первый ответ по теме последуем сразу же.

Само собой я знаю что ответят мне тут же, и если я посмотрю
на сообщения на форуме, то пойму что в общем то я и не ошибаюсь.
Но еще я точно замечу, что очень мало тем, в которых всего два ответа :
вопрос автора и еще два сообщение вида Ответ + Спасибо

После этого приходится начинать уточнять этим неграмотным что мне надо.
Они что, сами читать не умеют? А уточнять приходится.
И иногда пока они переварят то что я им скажу проходит и не одна ночь..

Уверен что если бы я им сказал что у меня есть
фиолетовый квадрат, и нужно превратить его в синий треугольник
и я пытался взять кисточку, макнуть в банку и поводить ей по квадрату
но почему то кисточка не принимала цвет краски в банке,
то на мой вопрос — где взять правильные банки мне бы ответили гораздо быстрее
предложив её открыть, а не тратить еще стольник на жестянку.

Читайте также:  Вывести символы строки через пробел

Поэтому с тех пор я строю свои вопросы по проверенной давным давно схеме:
Что есть
Что нужно получить
Как я пытался
Почему или что у меня не получилось.

На последок как оно происходит на форумах

Новичок: Подскажите пожалуста самый крепкий сорт дерева! Весь инет перерыл, поиском пользовался!
Старожил: Объясни, зачем тебе понадобилось дерево? Сейчас оно в строительстве практически не используется.
Новичок: Я небоскрёб собираюсь строить. Хочу узнать, из какого дерева делать перекрытия между этажами!
Старожил: Какое дерево? Ты вообще соображаешь, что говоришь?
Новичок: Чем мне нравиться этот форум — из двух ответов ниодного конкретного. Одни вопросы неподелу!
Старожил: Не нравится — тебя здесь никто не держит. Но если ты не соображаешь, что из дерева небоскрёбы не строят, то лучше бы тебе сначала школу закончить.
Новичок: Не знаите — лучше молчите! У меня дедушка в деревянном доме живёт! У НЕГО НИЧЕГО НЕ ЛОМАЕТСЯ.
Но у него дом из сосны, а я понимаю, что для небоскрёба нужно дерево прочнее! Поэтому и спрашиваю. А от вас нормального ответа недождёшся.
Прохожий: Самое крепкое дерево — дуб. Вот тебе технология вымачивания дуба в солёной воде, она придаёт дубу особую прочность:
Новичок: Спасибо, братан! То что нужно.

Отредактировано модератором: Uchkuma, 26 Апреля, 2011 — 10:21:12

Источник

Получить текущий домен

У меня есть сайт на сервере

Для этого у меня есть два домена:

я бы хотел получить с текущим доменом PHP, но если я использую $_SERVER[‘HTTP_HOST’] тогда это покажет мне

Как я могу получить домен, а не имя сервера? У меня PHP версии 5.2

попробуйте использовать это: $_SERVER[‘SERVER_NAME’]

РЕДАКТИРОВАТЬ:

Использование $_SERVER[‘HTTP_HOST’] получает меня (субдомен.) Maindomain.extension. Похоже, это самое простое решение для меня.

Изменить: если вы действительно перенаправляете через iFrame, вы можете добавить параметр get, который указывает домен.

И тогда вы можете установить переменную сеанса, которая сохраняет эти данные во всех приложениях.

И можно использовать как это

Этот код ниже – это хороший способ увидеть все переменные в $ _SERVER в структурированном HTML-выпуске с выделенными вами ключевыми словами, который останавливается сразу после выполнения. Поскольку я иногда забываю, какой из них использовать сам – я думаю, что это может быть отличным.

Попробуйте $_SERVER[‘SERVER_NAME’] . Советы. Создайте файл PHP, который вызывает функцию phpinfo() и просмотрите раздел «Переменные PHP». Есть куча полезных переменных, о которых мы никогда не думали.

Поздний ответ, но вот он идет:

Это даст вам чистое доменное имя без www

Я знаю, что это может быть не совсем по этому вопросу, но, по моему опыту, я нахожу сохранение WWW-существующего URL-адреса в переменной полезной.

Изменить: Кроме того, пожалуйста, см. Мой комментарий ниже, чтобы посмотреть, что это такое.

Это важно при определении того, следует ли отправлять вызовы Ajax с помощью «www» или без:

При отправке вызова Ajax имя домена должно совпадать с именем в адресной строке браузера, иначе в консоли должно быть установлено значение « Очистить» .

Поэтому я придумал это решение для решения проблемы:

Затем, в зависимости от того, является ли WWW истинным, или false, выполните правильный вызов Ajax.

Я знаю, что это может показаться тривиальным, но это такая распространенная проблема, которую легко преодолеть.

Источник

Как получить и вывести домен сайта с примерами!?

Как получить домен через php!? Вывести домен из ссылки, давайте разберемся с тем, как это можно получать и выводить домен!!

Все способы получить домен через php с примерами!

Что такое домен в адресной строке!?

Как получить домен сайта через php!? -> SERVER_ADDR

Есть замечательная супер глобальная переменная, которая называется $_SERVER, вы можете получить всё её содержание таким образом:

Берем переменную $_SERVER добавляем ячейку массива в квадратных скобках -> [SERVER_NAME] и выводим с помощью echo:

Выведем домен сайта через php прямо здесь:

Как получить домен сайта через php -> HTTP_HOST

Возьмем $_SERVER добавим новую ячейку массива -> [HTTP_HOST] и выводим с помощью echo:

И давайте также выведем домен сайта через php с помощью $_SERVER[HTTP_HOST]:

Как получить поддомен сайта через php!?

Это один из поисковых запросов, по которому заходят на данную страницу!

Прежде чем мы приступим к теме «получения поддомена» — пару слов:

В интернете предлагается(один из способов) вот такая конструкция для получения поддомена —

Относительно моего поддомена — «http://example.dwweb.ru/» — это сработает.

А если мы встретимся с таким доменами как «название.com.ru» или «название.com.ua» — выдаст «com.ru» — что будет ошибкой.

Теперь — давайте разберемся с поддоменом.

Если мы откроем в проводнике где у нас корневая папка, то увидим наш поддомен, который специально сделан для примеров такого рода.

Теперь — давайте разберемся с поддоменом. К чему это!?

Мы будем плясать от понятия корневая папка, что я имею ввиду!?

Для страницы внутри папки «example» — это и будет последний элемент корневой папки. А для страницы вне поддомена — эта папка не будет кореневой.

Чтобы это проиллюстрировать . смотрим на две ссылки — это один и тот же файл, только адрес у него разный. нас интересует элемент «example» — в одном случае — это будет поддомен, в другом случае папкой. давайте это узнаем через php!

Получим последний элемент из пути -> корневая папка(строка №1 в выше идущих ссылках) + последний элемент пути — basename(строка №2)

Получим первый элемент из домена/поддомена -> получаем название домена/поддомена «$_SERVER[HTTP_HOST]»(строка №3), разобьем его в массив explode, далее получим первый элемент массива current(строка №4)

Далее. как говорится дело в шляпе, сравнить 2 и 4 строку. см. результат строка №5:

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

Сообщение системы комментирования :

Форма пока доступна только админу. скоро все заработает. надеюсь.

Источник

Получить доменное имя (не поддомен) в php

У меня есть URL, который может быть в любом из следующих форматов:

По сути, я должен быть в состоянии соответствовать любому нормальному URL. Как я могу извлечь example.com (или .net, независимо от того, что произойдет. из них с помощью одного регулярного выражения?

12 ответов

Ну, вы можете использовать parse_url , чтобы получить хост:

Затем вы можете сделать некоторые интересные вещи, чтобы получить только TLD и хост

Не очень элегантно, но должно работать.

Если вам нужно объяснение, вот оно:

Сначала мы берем все между схемой ( http:// и т. д.), используя parse_url для . ну . разбора URL. 🙂

Затем мы берем имя хоста и разделяем его на массив в зависимости от места падения периодов, поэтому test.world.hello.myname станет:

После этого мы берем количество элементов в массиве (4).

Затем мы вычитаем 2 из него, чтобы получить вторую строку до последней (имя хоста или example , в вашем примере)

Затем мы вычитаем 1 из него, чтобы получить последнюю строку (поскольку ключи массива начинаются с 0), также известный как TLD

Затем мы объединяем эти две части с точкой, и у вас есть базовое имя хоста.

Он работает с любым TLD и шаблонами отвратительных поддоменов (до 3 поддоменов).

Существует тест, включающий множество доменных имен.

Не вставлять сюда функцию из-за странного отступа для кода в StackOverflow (возможно, он был изолирован для блоков кода, таких как github)

Невозможно получить доменное имя без использования списка TLD для сравнения, поскольку существует много случаев с абсолютно одинаковой структурой и длиной:

  1. www.db.de (поддомен) против bbc.co.uk (домен)
  2. big.uk.com (SLD) и www.uk.com (TLD)

Общедоступный список суффиксов Mozilla должен быть лучшим вариантом, поскольку он используется всеми основными браузерами : https://publicsuffix.org/list/public_suffix_list.dat

Не стесняйтесь использовать мою функцию:

Что это делает особенным:

  • он принимает все входные данные, такие как URL, имена хостов или домены со схемой или без нее
  • список загружается построчно, чтобы избежать чрезмерного использования памяти
  • создает новый файл для каждого TLD в папке кэша, поэтому get_domain() нужно проверить только через file_exists() , если он существует, поэтому нет необходимости включать огромную базу данных в каждый запрос, например TLDExtract делает это.
  • список будет автоматически обновляться каждые 30 дней

Источник

Получить текущий домен

у меня есть мой сайт на сервер

для этого у меня есть два домена:

Я хотел бы получить с PHP текущий домен, но если я использую этот

как я могу получить домен, а не имя сервера? У меня есть PHP версии 5.2

8 ответов:

попробуйте использовать этот: $_SERVER[‘SERVER_NAME’]

EDIT:

и может использоваться так

этот код ниже-хороший способ увидеть все переменные в $_SERVER в структурированном HTML-выводе с выделенными ключевыми словами, который останавливается непосредственно после выполнения. Поскольку я иногда забываю, какой из них использовать сам — я думаю, что это может быть изящным.

используя $_SERVER[‘HTTP_HOST’] получает меня (поддомена.)maindomain.расширение. Кажется, самое простое решение для меня.

Edit: если вы действительно «перенаправляете» через iFrame, вы можете добавить параметр get, который указывает домен.

и затем вы можете установить переменную сеанса, которая сохраняет эти данные во всем вашем приложении.

попробовать $_SERVER[‘SERVER_NAME’] . Советы: создайте PHP-файл, который вызывает функцию phpinfo() и смотрите раздел «переменные PHP». Есть куча полезных переменных, о которых мы никогда не думали.

это даст вам чистое доменное имя, без www

Я знаю, что это может быть не совсем по теме, но по моему опыту, я нахожу хранение WWW-ness текущего URL-адреса в переменной полезным.

Edit: кроме того, пожалуйста, см. Мой комментарий ниже, чтобы увидеть, к чему это приводит.

это важно при определении того, следует ли отправлять вызовы Ajax с помощью » www » или без:

при отправке вызова Ajax имя домена должно совпадать с именем в адресной строке браузера, в противном случае вы придется Uncaught SecurityError в консоли.

поэтому я придумал это решение для решения проблемы:

затем, основываясь на том, является ли $WWW true или false, выполните правильный вызов Ajax.

Я знаю, что это может показаться тривиальным, но это такая распространенная проблема, что легко споткнуться.

Я не знаю, как этот ответ получил сотни тысяч просмотров без единого упоминания о проблемах безопасности на руку.

неправильно:

$_SERVER[‘HTTP_HOST’] получает домен из заголовков запроса, которая составляет открыты для манипуляций хакеров.

$_SERVER[‘SERVER_NAME’] немного лучше, но в зависимости от конфигурации вашего сервера, это может быть небезопасно.

правильный образом:

самый безопасный способ-это сохранить домен в базе данных или конфигурационном файле. Многие фреймворки уже заботятся об этом для вас, поэтому обратитесь к документации для вашего конкретного фреймворка.

для пользователей WordPress:

Если вы используете WordPress, вы можете безопасно получить домен вот так:

(но если вы создаете URL в WordPress, просто используйте home_url или site_url.)

Источник

Оцените статью