Полюбите код! И он полюбит Вас!

Последние комментарии:

Марат : Для этого и делали! Рад, что помог! Приходите ещё! далее

2018-02-16 20:31:51



Виктор : Спасибо! Очень полезная статья. Нужно было очистить всю базу данных, далее

2018-02-16 20:30:13



Евгений : Спасибо за перевод sublime!!!! далее

2018-02-15 16:42:05



Марат : Вообще, после написания статьи - у них вышло обновление, может далее

2018-02-13 19:19:01



Сергей : Доброе время суток!После правки кода, капчи вообще нет! Ни старой, далее

2018-02-13 19:10:15



Это интересно:

Рейтинги страниц.

Вы здесь - Главная - PHP - ссылки

Автоматический путь

Автоматический создаваемый путь до файла

Если вы  занимаетесь сайтами, то знаете, что если вы откроете код страницы ctrl + U, то откроется код страницы, где в самом начале страницы расположены ссылки на главные сайтообразующие файлы. И у них есть свой путь, который будет отличаться от того в уровне какой папки будет находиться  ваш файл. Непонятно!?

Давайте проиллюстрируем, чтобы понять!

Давайте возьмем страницу, которая находится в корневой папке и откроем код.

Автоматический путь до файла в php создать сделать код скрипт

И вторая страница, которая находится в двух вложенных папках. Как видим, что путь до файлов у нас изменился.

Автоматический путь до файла в php создать сделать код скрипт

Но если у вас, к примеру в php, произойдет ошибка в правильности пути, то тогда будет примерно такая ошибка!

В большинстве движков такая проблема отсутствует! Но как её решить, если у вас рукописный сайт на php, либо на  html?

Мне как бы было все равно, поскольку я никогда я этим не сталкивался и пути в программе Dreamweaver прописываются автоматически! Но если вы переходите на php, в этой же программе, то такое не работает! Ну и просто интересная задачка!

Давайте её решим!

В том числе, почему я еще решил сделать автоматически генерируемый путь? Потому, что когда начал переходить на новую систему комментирования, там оказалось, что тот код формы, который требуется в страницу, для одного из файлов требуется править путь до файла. И не будем же мы писать на всех страницах сайта этот путь вручную!!!

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

Для иллюстрации вот такой код и сделаем вывод, что он нам покажет для данной страницы:

<?PHP

$primer = $_SERVER['REQUEST_URI'];

echo $primer;

?>

Смотрим:

'./Php/URL/Avtomaticheskiy-put.html.'

Далее нам нужно разбить ссылку, мы уже писали об этом здесь.

Возьмем код и изменим его соответствующее, т.е. заменим  $url) на ту переменную, которую мы вывели ранее $primer

<?php

$pieces = explode("/", $url);

echo $pieces[0]."<br>

"; // piece1

echo $pieces[1]."<br>

"; // piece1

echo $pieces[2]."<br>

"; // piece2

echo $pieces[3]."<br>

"; // piece2

echo $pieces[4]."<br>

"; // piece2

echo $pieces[5]."<br>

"; // piece2

?>

Получим:

<?php

$pieces = explode("/", $primer);

echo $pieces[0]."<br>

"; // piece0

echo $pieces[1]."<br>

"; // piece1

echo $pieces[2]."<br>

"; // piece2

echo $pieces[3]."<br>

"; // piece3

echo $pieces[4]."<br>

"; // piece4

echo $pieces[5]."<br>

"; // piece5

?>

Давайте посмотри результат работы данного скрипта...

Смотрим:

'..'// piece 0

'.Php.'// piece 1

'.URL.'// piece 2

'.Avtomaticheskiy-put.html.'// piece 3

Ну и дальше, что нам нужно сделать!?

Правильно!

Проверить на существование каждого элемента массива, а именно в предыдущем скрипте - $pieces – это элемент массива.

Как проверить на существование строки в массиве?

Для этого существует функция isset

Напишем  такое условие:

Если  переменная $pieces[1] существует, то переменная номер равна  числу 1- ($nomer1 = "1";) и т.д.

if (isset($pieces[1]))

{

$nomer1 = "1";

}

И получим такой список условий (ну к примеру, если вложенность папок равна 5:

if (isset($pieces[5]))

{

$nomer4 = "5";

}

if (isset($pieces[4]))

{

$nomer4 = "4";

}

if (isset($pieces[3]))

{

$nomer3 = "3";

}

if (isset($pieces[2]))

{

$nomer2 = "2";

}

if (isset($pieces[1]))

{

$nomer1 = "1";

}

Зачем мы создали список переменных и присвоили им числовые значения!? Просто когда сталкиваешься с безликими переменными начинается разброд в голове и невозможно решить задачку…

Теперь, давайте подумаем!  Нам нужен новый список условий, когда будут сравниваться выше выведенный переменные, т.е. к примеру! Первая строка будет такая!

Если переменная $nomer5 меньше чем $nomer4, то новая переменная $zamena равна ../../../

Это выражение выполняется в только вслучае, если $nomer5 не существует!

Но и если  $nomer4 не существует, то  данное условие не выполняется! А если так, то переходим к реализации следующего условия и т.д. до тех пор, когда условие выполнится.

А следующие ниже "условия" не выполняются, потому, что  левая переменная, если она есть, а она есть... , всегда будет больше переменной, которая справа!

if ($nomer5 < $nomer4)

{

$zamena = "../../../";

}

Далее второе условие, если  ($nomer4 меньше  $nomer3 то выводим такой путь - ../../

if ($nomer4 < $nomer3)

{

$zamena = "../../";

}

И таким образом получаем полный список условий:

if ($nomer5 < $nomer4)

{

$zamena = "../../../";

}

if ($nomer4 < $nomer3)

{

$zamena = "../../";

}

if ($nomer3 < $nomer2)

{

$zamena = "../";

}

if ($nomer2 < $nomer1)

{

$zamena = "";

}

Всё соединяем вместе

<?php

$chasti  = $_SERVER['REQUEST_URI'];

$pieces = explode("/", $chasti);

if (isset($pieces[5]))

{

$nomer4 = "5";

}

if (isset($pieces[4]))

{

$nomer4 = "4";

}

if (isset($pieces[3]))

{

$nomer3 = "3";

}

if (isset($pieces[2]))

{

$nomer2 = "2";

}

if (isset($pieces[1]))

{

$nomer1 = "1";

}

if ($nomer5 < $nomer4)

{

$zamena = "../../../";

}

if ($nomer4 < $nomer3)

{

$zamena = "../../";

}

if ($nomer3 < $nomer2)

{

$zamena = "../";

}

if ($nomer2 < $nomer1)

{

$zamena = "";

}?>

Теперь  ту переменную $zamena прикрутим к какому-нибудь файлу (К примеру к файлу css, который есть у нас на сайте.

)и давайте сделаем вывод

<?php  echo ("$zamena"."a-data/DwWeb.css"); ?>

Смотрим результат:

И если вы сейчас откроете код данной страницы, то там вы увидите именно такой путь до нашего файла!

Либо проверить правильность пути нажав по ссылке, которая находится ниже…

Но результат результатом, но нам нужно ведь проверить и давайте сделаем активную ссылку на  текст a-data/DwWeb.css и получим код…

<a href="<?php echo ("$zamena"."a-data/DwWeb.css"); ?>">a-data/DwWeb.css</a>

И активную ссылку на которую вы можете нажать и проверить правильность автоматически созданной ссылки!

a-data/DwWeb.css

Скуопировать код.

Понравилась статья!? Не стесняйся – поделись ссылкой!

И!

Пожалуйста! Если вам не трудно - прокомментируйте то, что вы прочитали! Вам понравилось, или не понравилось! Напишите, какие мысли возникли у вас, и это бесплатно для вас, но очень ценно для нас!!! Всё, что вы здесь видите - это написано для вас! Никаким другим образом мы не можем понять вашу реакцию. Может, что-то стоит добавить или наоборот убрать. Либо, что-то стоило изменить...

P.S.

25 октября 2017

Мы запустили подписку на новости по емайлу, как только выходит новая статья, то будет отправлено сообщение на почту, что вышла новая статья!

Почему стоит подписаться на наши новости!?

Расскажу историю, вчера искал ответ на один из вопросов (конечно, я могу и сам написать, но чаще всего, вначале, ищу в интернете, может есть готовое решение…) и было множество вариантов, которые были описаны, но ни одного, с примерами! И мало того, что они предлагают решения, которые непонятно как реализовывать, особенно новичкам, у которых больше вопросов, чем ответов. Так они еще и не работают!

У нас же, на сайте – только рабочие проверенные скрипты! Полностью с описанием и с примерами! И реализовать может человек с нулевыми знаниями!

Мы есть здесь:

Проголосовать за статью!
  С 24 сентября мы запускаем новый скрипт в тестовом режиме (только свои скрипты)
  Вы можете проголосовать за понравившуюся статью.

  Еще никто не проголосовал
    


Просмотров 492

Друзья!

Для того, чтобы вы получили бесплатную информацию, мы потратили и время и деньги!

Мы существуем от кликов по рекламе!

Если вы не нашли подходящего блока объявлений, то вы еще можете помочь проекту!

Не стесняйтесь!

Даже самая маленькая сумма будет употреблена на продвижение и улучшение проекта!

Заранее благодарим Вас!

Оставить комментарий:

Для отображения аватара после отправки сообщения, необходимо быть зарегистрированным в Граватаре.



Комментарии

Комментариев пока нет.

* Обязательные поля
(Не публикуется)
 
Жирный Курсив Подчеркнутый Перечеркнутый Степень Индекс Код PHP Код Кавычки Вставить линию Вставить маркированный список Вставить нумерованный список Вставить ссылку Вставить e-mail Вставить изображение Вставить видео
 
Улыбка Печаль Удивление Смех Злость Язык Возмущение Ухмылка Подмигнуть Испуг Круто Скука Смущение Несерьёзно Шокирован
 
5000
Напишите слово грот наоборот.
 
(введите ответ)
 
Уведомлять о новых коментариях по почте.
 

Оставить комментарии через вконтакте

Все дела сделаны!

Теперь можно и поиграть!

Понравилась игра!? Растфнуть на весь экран

Улучши поведенческий фактор на своём сайте.

Забери код здесь

Пишем полную инструкцию о пользовании ruweb.net + DirectAdmin

RuWeb.net - гибкий хостинг
Индекс цитирования