Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/86: Рейтинг темы: голосов - 86, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92

Подгрузка контента из других страниц

28.07.2014, 10:34. Показов 18408. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите как можно сделать следующее. Есть сайт kskrodina.ru.
Разметка сделана таким образом, что весь контент находится в одном файле (index.html) и он все время разрастается, что не есть хорошо для загрузки. Чтобы не плодить одинаковую разметку, хотелось бы подгружать только изменяемый контент из других страниц. Подскажите как это можно сделать, и желательно чтобы открытие страницы с анимацией скроллинга осталась. Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.07.2014, 10:34
Ответы с готовыми решениями:

Подгрузка контента
здравствуйте, хотелось прояснить пару моментов в данной теме вот у меня есть код для подгрузки контента: <?php ...

Подгрузка контента в div
Привет. В общем есть функция которая забирает контент с сайта (парсер). Построена на использовании curl. Функция возвращает контент и...

PHP подгрузка контента
Возможно ли реализовать, подгрузку дополнительного контента из базы данных MySQL?

32
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
28.07.2014, 10:36
Если доступно использовать SSI (Server Side Include), то можно воспользоваться им. Если нет - то необходим серверный ЯП.. Хотя можно воспользоваться яваскриптом, но это чревато проблемами (например, отключенный JS)
0
21 / 13 / 6
Регистрация: 19.07.2014
Сообщений: 115
28.07.2014, 10:38
Не совсем понял, но вроде понял))) тут надо использовать
PHP
1
<?php include ("./file.php"); ?>
Позволяет загружать другие страницы на страницу и в место где вы написали этот код.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
28.07.2014, 10:41
Цитата Сообщение от Вова101 Посмотреть сообщение
Позволяет загружать другие страницы на страницу
не "загружать", а "включать исходный код скрипта". Если это не php-файл, а html, то лучше обойтись file_get_contents
PHP
1
echo file_get_contents('./file.php');
З.Ы. include не функция, скобки не нужны.
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
29.07.2014, 08:49  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
не "загружать", а "включать исходный код скрипта". Если это не php-файл, а html, то лучше обойтись file_get_contents
Код PHP
1
echo file_get_contents('./file.php');

Не совсем понял, этот код вставляется в том месте куда необходимо загрузить контент из другого файла? И обязательно ли должны быть файлы PHP? (в примере file.php)

Добавлено через 21 час 59 минут
Есть ли еще у кого-нибудь, какие-нибудь идеи?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.07.2014, 09:15
Цитата Сообщение от Mihail1989 Посмотреть сообщение
этот код вставляется в том месте куда необходимо загрузить контент
да.
Цитата Сообщение от Mihail1989 Посмотреть сообщение
И обязательно ли должны быть файлы PHP
Тот файл, в котором находится код, указанный выше - да. Вернее, не обязательно PHP - главное, чтобы этот тип файла был настроен на обработку php-кода (например, с помощью директивы AddType в .htaccess)
Естественно, на сервере должен присутствовать интерпретатор PHP.
Цитата Сообщение от Mihail1989 Посмотреть сообщение
Есть ли еще у кого-нибудь, какие-нибудь идеи?
По-моему, тут больше не может быть никаких идей. Либо использовать SSI, либо использовать серверный ЯП (не обязательно PHP, их уйма других - Java, Python, Perl, Ruby, ...), либо использовать JS (о возможных проблемах я говорил выше)
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
29.07.2014, 10:04  [ТС]
спасибо, получилось.
Вот теперь хочу добавить, чтобы html обрабатывал php-код, как Вы написали.
Цитата Сообщение от KOPOJI Посмотреть сообщение
не обязательно PHP - главное, чтобы этот тип файла был настроен на обработку php-кода (например, с помощью директивы AddType в .htaccess)
Использую следующую директиву в .htaccess
Code
1
AddType application/x-httpd-php .html .htm
Но при открытии страницы выдает следующее

Подскажите в чем проблема?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.07.2014, 10:42
Вам надо такой код
Code
1
AddHandler application/x-httpd-php .php .html .htm
Добавлено через 1 минуту
AddType, ЕМНИП, надо прописывать в httpd.conf
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
30.07.2014, 09:39  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Вам надо такой код
Code
1
AddHandler application/x-httpd-php .php .html .htm
Так не срабатывает php-код.

Добавлено через 22 часа 36 минут
решил спросить на хостинге, как у них настраивается обработка типов файлов и все получилось
вот такая директива
Code
1
AddHandler fcgid-script .htm .html
Добавлено через 6 минут
С этим разобрался, но появилась новая проблема связанная с подгрузкой контента из других страниц в усложненном варианте, а именно нужно грузить конкретную часть контента из другой страницы, а не весь файл. Теперь конкретнее. На сайте есть раздел новости со списком кратких новостей и у каждой новости есть ссылка на просмотр полной новости. Хочется все полные новости засунуть в один файл, а затем подгружать из него необходимые части в соответствии с выбранной новостью.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.07.2014, 09:45
Создайте определенную структуру и парсите нужную новость. Например, подобную такой:
Code
1
2
3
4
5
6
---1---: текст новости 1...
.........
---2---: текст новости 2...
.................
...........
---3---: .........
Потом ищете по коду новости. Хотя в настоящее время для этих целей чаще хранят данные в БД, а не непосредственно в файлах, зачастую это удобнее
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
30.07.2014, 10:07  [ТС]
А можно немного подробнее или может покажете где посмотреть что-то похожее можно.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.07.2014, 10:26
Цитата Сообщение от Mihail1989 Посмотреть сообщение
что-то похожее
что-то похожее на что именно? На файловую структуру? Или БД?
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
30.07.2014, 12:32  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
что-то похожее на что именно?
На файловую структуру.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.07.2014, 12:57
Лучше всего, наверное, использовать структуру JSON. Хотя можно и другие, тот же CSV, к примеру.. C JSON - нечто наподобие такого
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$item1 = array(
    'id' => 'уникальный идентификатор новости 1',
    'title' => 'Заголовок новости 1',
    'text' => 'Текст новости 1',
);
$item2 = array(
    'id' => 'уникальный идентификатор новости 2',
    'title' => 'Заголовок новости 2',
    'text' => 'Текст новости 2',
);
$item3 = array(
    'id' => 'уникальный идентификатор новости 3',
    'title' => 'Заголовок новости 3',
    'text' => 'Текст новости 3',
);
Ну у вас по одной новости будет при добавлении, насколько я понимаю, поэтому достаточно просто одного "$item".
потом записываете в файл
PHP
1
file_put_contents('./db.txt', json_encode($item) . PHP_EOL, FILE_APPEND);
И ищете по идентификатору новости. Да, и идентификатор должен быть уникальным - т.е. он не должен повторяться (даже если вы уже удалили эту новость)
Поиск как то так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$found = false;
foreach(file('./db.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES) as $item)
{
    $item = json_decode($item);
    if($item->id == 'искомый уникальный идентификатор новости')
    {
        $found = true;
        break;
    }
}
    
if($found)
{
    echo '<h1>', $item->title, '</h1> <p>', $item->text, '</p>', PHP_EOL;
}
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
30.07.2014, 13:58  [ТС]
смотрите вот краткая новость
HTML5
1
2
3
4
5
6
7
8
<img src="images/podkova1_news.png" class="left border1 radius1 img1">
<strong class="h3">
02 августа 2014. Открытые соревнования по выездке в КСК "Родина".
</strong><br>
<p class="text">
На базе конно-спортивного клуба Родина пройдет ...
</p>
<a href="#!/page_NEWS_7" class="button1 right">читать далее</a>
нажимаем на ссылку "читать далее" и попадаем в полную новость

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 <li id="page_NEWS_7">
<div class="box">
<div class="scroll-pane"><div>
<div class="col3-2">
<div class="h3_news">02 августа 2014. Открытые соревнования по выездке в КСК "Родина",
посвященные 1111-летию г. Пскова (2 этап).</div>
<p class="text1_horse">
На базе конно-спортивного клуба Родина пройдет второй этап открытых соревнований по выездке,
посвященных 1111-летию г. Пскова. Соревнования пройдут на специально огражденной площадке резмером 60х20 метров.<br>
СТАТУС СОРЕВНОВАНИЙ: Клубные<br>
КАТЕГОРИЯ СОРЕВНОВАНИЙ: Открытые, личные<br>
ДАТА ПРОВЕДЕНИЯ: 02 августа 2014 года<br>
МЕСТО ПРОВЕДЕНИЯ: КСК «Родина» (пос.Родина)<br>
С положением о соревнованиях Вы можете ознакомиться по <a href="polozenia/Polozhenie_vyezdka_26_07-02_08_2014.doc">ссылке</a>.<br>
С результатами соревнований Вы сможете ознакомиться позднее.
</div>
</div></div>
</div>
</li>
Хочется все полные новости засунуть в один файл, я так понимаю это получается файл db.txt.
И потом из него доставать необходимые новости.
Но вот вопрос останется ли тот же внешний вид и функционал(скроллинг)?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
30.07.2014, 14:16
Браузеру без разницы, как будет сформирован код страницы - "вручную" или же с помощью ЯП.
Сохранение:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$item = array(
    'id' => 'page_NEWS_7',
    'title' => '02 августа 2014. Открытые соревнования по выездке в КСК "Родина",
посвященные 1111-летию г. Пскова (2 этап).',
    'text' => 'На базе конно-спортивного клуба Родина пройдет второй этап открытых соревнований по выездке,
посвященных 1111-летию г. Пскова. Соревнования пройдут на специально огражденной площадке резмером 60х20 метров.<br>
СТАТУС СОРЕВНОВАНИЙ: Клубные<br>
КАТЕГОРИЯ СОРЕВНОВАНИЙ: Открытые, личные<br>
ДАТА ПРОВЕДЕНИЯ: 02 августа 2014 года<br>
МЕСТО ПРОВЕДЕНИЯ: КСК «Родина» (пос.Родина)<br>
С положением о соревнованиях Вы можете ознакомиться по <a href="polozenia/Polozhenie_vyezdka_26_07-02_08_2014.doc">ссылке</a>.<br>
С результатами соревнований Вы сможете ознакомиться позднее.',
);
 
file_put_contents('./db.txt', json_encode($item) . PHP_EOL, FILE_APPEND);
Отображение
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$found = false;
 
foreach(file('./db.txt', FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES) as $item)
{
    $item = json_decode($item);
    if($item->id == $id) //$id - искомый id новости
    {
        $found = true;
        break;
    }
}
    
if($found) : ?>
    <li id="<?php echo $item->id; ?>">
        <div class="box">
            <div class="scroll-pane"><div>
            <div class="col3-2">
                <div class="h3_news"><?php echo $item->title; ?></div>
                <p class="text1_horse">
                    <?php echo $item->text; ?>
                </p>
            </div>
        </div>
    </li>
<?php endif; ?>
Только сразу говорю, хэш (якорь, т.е. то, что после "#" в url) на сервер не передается, поэтому либо пишите костыль на js наподобие добавления в куки хэша (window.location.hash), либо используйте другой способ (например, $_GET)
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
30.07.2014, 20:32
В такой ситуации как-то логичнее что ли использовать var_export.. Или мне кажется?

Запись:
PHP
1
file_put_contents("db.php", '$item = ' . var_export($item, true));
Чтение:
PHP
1
2
include 'db.php';
var_dump($item);
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
21.08.2014, 13:33  [ТС]
и снова по поводу загрузки
я использовал строку которую Вы подсказали
Цитата Сообщение от KOPOJI Посмотреть сообщение
Код PHP
1
echo file_get_contents('./file.php');
но проблема вот в чем, я так понял что используя данную конструкцию контент из указанного файла грузится сразу при первоначальной загрузке страницы, а нужно чтобы он грузился при непосредственном обращении к соответствующему элементу страницы
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
21.08.2014, 13:51
Отображается то, что требуется
0
1 / 1 / 1
Регистрация: 28.07.2014
Сообщений: 92
21.08.2014, 14:06  [ТС]
Да, отображается то, что требуется тут вопросов нет, но вот как оно отображается. Вот заходим мы на страницу и грузится index.html в котором есть например конструкция
PHP
1
echo file_get_contents('./people.html');
содержание которой должно открываться после перехода по соответствующей ссылке, но если посмотреть запросы которые идут при загрузке сайта получается, что информация из people.html грузится сразу же, а не при переходе по внутренне ссылке(якорь). Может оно так и должно быть. Если так подскажите тогда как сделать чтобы контент подгружался так сказать при непосредственном вызове, т.е. при переходе по якорю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.08.2014, 14:06
Помогаю со студенческими работами здесь

Php+ajax подгрузка контента
Ох, пришло это время когда мне нужен аякс. Изучать его не изучал глубоко, чисто так поверхностно. Нужно подгружать в определенный Div...

Динамическая подгрузка контента работает некорректно
Доброго времени суток! Подскажите пожалуйста. Есть страница catalog.php на которой выводятся товары &lt;?php include...

Подгрузка контента при прокрутке страницы
Помогите реализовать такого вида страницу: http://*******/BgBRND http://*******/InqFpl есть: папка: images (тут картинки) файл:...

Подгрузка контента при нажатии на кнопку
Надо сделать, чтобы после нажатия на кнопку подгружались статьи из базы данных. То есть на странице отображается например 10 статей, а...

Подгрузка контента из других страниц
Здравствуйте. Подскажите как можно сделать следующее. Есть сайт kskrodina.ru. Разметка была сделана таким образом, что весь контент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru