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

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

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

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



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

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

Получить контент: include, file_get_contents

Как получить контент с другой страницы

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

1.

Первый, наверное самый первый способ, который я вообще узнал – это

 инклуд/ include,

что в переводе: включает, заключает, содержит в себе.

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

а)

<?php include ("../../Ваша_страница.html"); ?>

б)

Но здесь еще можно использовать абсолютный путь например таким образом - создадим переменную $home, которая будет равна абсолютному пути до корневой папки. В чем преимущество абсолютного пути!? Не надо пытаться понять, сколько слешей и точек "../../" нужно поставить .. я до сих пор не могу этого понять и запомнить!

И у нас получится:

$home = $_SERVER['DOCUMENT_ROOT'];

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

<?php include ($home."/Ваша_страница.html"); ?>

И чтобы вам совсем стало понятно, мы сделали видео на тему include

Получить данные с помощью include - видео.

2.

file_get_contents – получение файла в виде одной строки… так написано в манулае

Это не значит, что все данные с другой страницы будут выдаваться вам в виде строки. Сверху – это формулировка. Если у программистов так написано, просто примите это как есть – не пытайтесь это понять!

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

<?php

$text=file_get_contents("http://dwweb.ru/адрес_страницы");

echo $text;

?>

в случае неудачи вернет FALSE, а это для чего? Ну, когда вам нужно вывести, что-то цивилизованное, то пишем если FALSE., то echo “ну не смогла я”;

Чтобы это представить давайте напишем немного проверки например:

<?

if(!$text)

{

echo '$text не существует';

}

else 

{

echo '$text существует';

}

?>

3.Чем отличается file_get_contents и include.

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

a

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

б

Но file_get_contents может передать данные в переменную, а Include этого не может.

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

Есть еще множество функций, которые работают с содержимым страницы, передают её в различном виде. Например функция file(), которая читает содержимое файла и помещает его в массив

Я не буду вам показывать какие-то совершенно простые примеры для понимания вопроса, а вот есть задачка, которую решал на своем сайте, когда, только начинал изучать php и это реально интересно, когда ты ещё ничего не знаешь!

4.Задача на использование инклуда(include ).

Условие задачи:

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

С несколькими условиями!

1.Чтобы на одном типе страниц, include использовать два раза, в начале страницы и внизу страницы, и в зависимости от условий выводить разную информацию.

2.Чтобы на втором типе страниц использовать include и выводить совершенно другую информацию, к примеру создание ссылок, списка ссылок, создание контента для вывода в первом типе страниц.

Друзья! Это всего лишь пример! Я постарался подробно, насколько возможно понятнее рассказать собственный опыт работы с инклудом! И это тот пример, как его можно использовать вместе с условиями разного типа…

Погнали!

В самом начале нам нужно сформулировать проблему, а потом начинать ее решать! Если вы не можете сформулировать проблему, то как вы её собираетесь решить!?

1.

У нас есть несколько страниц, а именно 3, в которых нужно вывести содержимое другой страницы №4 и причем несколько раз.  Для чего вообще выводить столько раз и на нескольких страницах.

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

Короче говоря, нужна одна страница с кодом, который будет транслироваться на 3 страницы в 5 мест и в каждом из этих мест выводилось только то, что нужно именно в этом месте!

P.S..

Хотелось бы немного ещё добавить, что этот вариант вывода оказался очень эффективным и удачным! И реально интересным в случае большого количества страниц!

И далее есть 2 страницы, на которых это решение реализовано! А именно – это верхнее меню, с внутренними ссылками на уже внешние ссылки.

2.

Но мало того, если вы еще раз зайдете на страницу карты сайта, то вы должны обратить внимание, что в самом начале страницы, что касается темы Php, то видим там список ссылок, который и  есть мини навигатор… и его тоже нужно выполнить на одной странице…

Т.е. нужно вставить один код в верхнюю часть и нижнюю и чтобы он показывал разную информацию.

Решение задачи.

1.

У нас есть 2 странницы

http://dwweb.ru/sitemap.html

http://dwweb.ru/Php/Vse-o-Php.html

идентичные, туда вставляем вверх код такой. Обращаю ваше внимание на вставленную переменную - $n1, потом покажу ее в коде…

<?php $n1 =1; include ("наша страница.htm"); ?>

А вниз:

обращаю ваше внимание, что здесь переменная $n1 – уже имеет другое значение…, а код инклуда идентичный, почему прибавляем 2, ну просто мне захотелось прибавить 2…

<?php $n1 = $n1 + 2; include ("наша страница.htm"); ?>

А на третью страницу вставляем простой код, поскольку он здесь не повторяется, то нам и не нужны эта переменная с двумя значениями!

Третья страница – здесь страница добавления контента. Переменная $add = "наша папка"

2.

Постараюсь совсем кратко - создадим условие, если страница расположена в нашей папке, (про переменную ($pieces[2] – я не буду рассказывать, т.к. уже писал, как разбивать ссылку на составляющие. то выполняем условие – показываем определенный код на данной странице.

НО...

Что означает данная запись $add = "наша папка"; – это условие, если переменная $add равна папке($pieces[2]), то выводим информацию записанную в переменной $stroka1.

Здесь, если вы обратите внимание на код, то в строке $stroka1, есть input, который нам говорит, что данная часть кода будет выводиться только на странице с добавлением(старниц) контента на сайте, и нигде более...

Далее идет "else" - иначе – т.е. для карты сайта и все о php, два отдельных условия.

Если -  $n1  равно или меньше 1 / if ($n1 <= 1), то этот код выводим сверху

<p><a href=’#Vse-o-Php’>Php.</a></p>

Далее у нас условие для нижнего вывода кода if (3 <= $n1)

Поскольку мы помним, что к переменной в нижнем коде мы прибавили 2, то она равна $n1 = 3;

Соберем воедино наш код и вот такое у нас получилось:

<?php 

$add = "наша папка";

If ($pieces[2] == $add)//если часть равна папке нашей папке то вывод строки...

{

$stroka1 = ‘<h2>все о PHP</h2><input name="page_spisok" type="radio" > Добавить ссылку на страницу  "все о PHP" <br>’;//вывод информации на странице добавления страниц.

echo $stroka1;

}

else

{

if ($n1 <= 1)

{

echo "<p><a href=’#Vse-o-Php’>Php.</a></p>";// ссылка в навигаторе вверху страницы

}

if (3 <= $n1)

{

include ("страница -Vse-o-Php");//вывод информации со страницы с сылками..

}          

}

?>

Ну вот… примерно, как-то так…

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

И!

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

P.S.

25 октября 2017

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

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

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

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

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

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

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


Просмотров 1244

Друзья!

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

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

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

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

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

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

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

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



Комментарии

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

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

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

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

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

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

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

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

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

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