В связи с переходом на новый движок... возможны сбои в работе! Простите!
Работы производятся прямо сейчас 21-06-2024! ×
Меню :
database (19)
php file (20)



Blog (1435)
php (335)
js (246)
html (147)
css (131)
html tags (62)
js tag (56)
jquery (42)
text (37)
ruweb.net (37)
js method (36)
php array (33)
js date (33)
form html (30)
online (29)
Показать еще :
fonts (26)
foto (22)
atom (20)
php file (20)
forum (19)
database (19)
input (18)
svg (18)
info (17)
hosting (17)
php date (17)
mysql (17)
board (16)
html book (16)
php time (15)
color (15)
js url (14)
js time (14)
js events (14)
img (14)
знак (13)
osclass (13)
select (13)
lingvo (13)
notepad (13)
htaccess (13)
keyboard (12)
table (12)
php path (12)
php img (12)
dw block (12)
download (12)
jsphp (11)
form (11)
icon (11)
js delete (10)
mouse (10)
yandex (10)
keyframes (10)
chart (9)
vs code (9)
ftp (9)
dosite (9)
hover (9)
browser (8)
php post (7)
comment (7)
php url (7)
php get (6)
list (6)
click (6)
iframe (6)
adminka (6)
canvas (6)
heading (5)
js id (5)
tag a (5)
mb (5)
year (5)
reg.ru (5)
js math (5)
value (5)
games (4)
base64 (4)
js hash (4)
ssl (4)
day (4)
xml (4)
scandir (4)
php var (4)
week (4)
pages (4)
console (4)
month (4)
task (4)
vk (4)
bbcode (4)
symbols (4)
js form (4)
submit (4)
нок (4)
куб (3)
line (3)
js post (3)
money (3)
https (3)
numbers (3)
jquery post (3)
captcha (3)
domen (3)
ucoz (3)
js img (3)
padding (3)
video (2)
youtube (2)
seo (2)
js vars (2)
sitemap (2)
tag hr (2)
google (2)
prompt (2)
рся (2)
typeof (2)
qr code (2)
arrows (2)
counter (2)
height (2)
details (2)
smile (1)
scroll (1)
rutube (1)
archive (1)
windows (1)
speed (1)
cursor (1)
нод (1)
jino (1)

Как хранить контент страниц сайта?

хранение контента в файлах как хранить контент в файлах, какой формат файлов должен быть. Примеры использования контента в файлах.

Подробно о хранении статей в файлах.

  1. Какие файлы возможны для хранения контента?
  2. Способы хранения контента?
  3. Способ хранения контента - массив.
    1. Как сохранять контент в массиве в файле
    2. Добавление нового контента в массив
    3. Добавление нового контента в ячейку
    4. Как выводить/получать контент из файла?
    5. Сохранить/записать контент в файл пример/скачать
  4. Хранить сонтент в переменных в файлах.
    1. Хранение данных/контента в переменных в файлах
    2. Плюсы и минусы хранения контента в переменных
    3. Минусы(отдельно) хранения контента в переменных
    4. Как записывать контент на страницу файла?
    5. Как выводятся переменные на реальную страницу

  1. Какие файлы возможны для хранения контента?

    Для хранения контента в файлах подойдет вообще любой текстовый файл, если вы собираетесь хранить в строке(string).

    Например...

    .txt, .docx, .dat, .html, .htm

    Я использую для файла базы .dat

    Для файлов с контентом ".html".

    Почему не .txt - личный опыт.

    В одно время файл базы был в ".txt", но периодически происходили непонятные сбои в строках... я пытался выяснить в чем проблема... несколько раз...

    Вывод такой:

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

    Примерно так:

    Какие файлы возможны для хранения контента? После того, как определились с форматом файла:

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

    Естественно, что я не буду гадать, как бы вы хотели бы хранить данные - я все о себе любимом... как я храню контент в файлах...


  2. Способ хранения контента?

    Я использовал три способа хранения данных в файле...

    Первый способ - полностью вся страница - стационарный html(без php)... "формат файла .html" - сейчас не используется. Очень неудобно.

    Хранение в асс.массиве, формат файла ".dat" - после обработки вывод в html шаблон.

    Хранение в переменных, формат файла ".html" - после обработки вывод в html шаблон.

    Вывод о 2 и 3 способе.

    Каждый из 2 способов... имеет свои плюсы и минусы!

    2). Хранение контента в ассоциативном массиве:

    Плюс

    Не существует конфликт кавычек - можете смело использовать любые...

    Удобство редактирования ячеек массива, удаление, добавление.

    Минусы:

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

    Для получения массива требуется дополнительная функция - это не критично, но просто в отличии от переменных, здесь получается + 1 доп функция...


    1. Способ хранения контента - массив.

      Один из способов хранения контента в файле - это ассоциативный массив.

      Как записывается контент в массиве в коде php?

      <?

      $example_cell = array(

      'title' => 'контент в файлах',

      'main_text' => 'Как хранить контент страниц сайта?',

      'author' => 'Марат',

      'tags' => 'php_file/database/file_cms/',

      'data' => '14.01.2022',

      'img' => 'engine.png'

      );

      ?>

      Выведем данный контент с помощью print_r

      print_r($example_cell);

      Array

      (

      [title] => контент в файлах

      [main_text] => Как хранить контент страниц сайта?

      [author] => Марат

      [tags] => php_file/database/file_cms/

      [data] => 14.01.2022

      [img] => engine.png

      )

    2. Как сохранять контент в массиве в файле?

      Для того, чтобы пользоваться сохраненным контентом его надо как-то записать в файл.

      Для этого вам понадобится:

      У вас должен существовать контент в массиве я уже выше его показывал..

      В таком виде(в массиве) контент сохранить в файле невозможно!

      Его(массив) нужно превратить в строку - serialize

      Если мы сейчас этот массив пропустим через serialize... и выведем через echo:

      echo serialize($example_array);

      То получим строку:

      a:6:{s:5:"title";s:30:"контент в файлах";s:9:"main_text";s:64:"Как хранить контент страниц сайта?";s:6:"author";s:10:"Марат";s:4:"tags";s:27:"php_file/database/file_cms/";s:4:"data";s:10:"14.01.2022";s:3:"img";s:10:"engine.png";}

      Далее - эту строку записываем с помощью file_put_contents + указываем путь до файла

      Здесь обращаю ваше внимание! Что если файла изначально не существует, то функция file_put_contents вернет ошибку. Для того, чтобы забить ошибку используйте собаку " @ " - это не лучший способ..., но в данный момент про это - всё(в смысле этого достаточно).

      file_put_contents('путь', serialize($example_array));
    3. Добавление нового контента в массив

      Выше я уже показывал наш массив... давайте его ещё раз выведем:

      Array

      (

      [title] => контент в файлах

      [main_text] => Как хранить контент страниц сайта?

      [author] => Марат

      [tags] => php_file/database/file_cms/

      [data] => 14.01.2022

      [img] => engine.png

      )

      Предположим, что вы хотите:

      Добавить контент к уже существующему контенту!

      Данный заголовок можно понять как:

      Добавление нового контента к уже существующему контенту.

      И добавить новую ячейку новым контентом!

      Как добавить контент к уже существующему контенту

      Для того, чтобы добавить контент вам потребуется:

      Получаем контент с помощью file_get_contents

      file_get_contents('путь_до_файла');

      Далее строку превращаем в массив с помощью unserialize:

      $example_array = unserialize(file_get_contents('путь_до_файла'));

      Выбираем тот контент(ячейку - пусть это будет "main_text"), который хотим изменить/добавить - меняем значение ячейки:

      $example_arr['main_text'] = 'Просто переписываем ячейку';

      Выведем заново наш массив:

      Array

      (

      [title] => контент в файлах

      [main_text] => Просто переписываем ячейку

      [author] => Марат

      [tags] => php_file/database/file_cms/

      [data] => 14.01.2022

      [img] => engine.png

      )

      Превращаем массив в строку - serialize.

      Далее записываем наш новый контент в файл с помощью file_put_contents + указываем путь до файла

      file_put_contents('путь', serialize($example_array));
    4. Добавление нового контента в ячейку.

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

      Опять: получаем контент с помощью file_get_contents

      file_get_contents('путь_до_файла');

      Далее строку превращаем в массив с помощью unserialize:

      $example_array = unserialize(file_get_contents('путь_до_файла'));

      Назовем как-то нашу новую ячейку и добавим значение:

      $example_arr[new_cell] = 'Новый контент в новой ячейке';

      Выведем наш массив:

      Array

      (

      [title] => контент в файлах

      [main_text] => Как хранить контент страниц сайта?

      [author] => Марат

      [tags] => php_file/database/file_cms/

      [data] => 14.01.2022

      [img] => engine.png

      [new_cell] => Новый контент в новой ячейке

      )

      Массив в строку - serialize.

      Далее записываем наш новый контент в файл с помощью file_put_contents + указываем путь до файла

      file_put_contents('путь', serialize($example_array));
    5. Как выводить/получать контент из файла?

      Для того, чтобы получить контент из файла с массивом вам понадобится:

      Нам нужно знать путь на сервере до файла

      Далее получаем контент с помощью file_get_contents в строку.

      file_get_contents('путь_до_файла');

      Преобразовываем строку в массив - unserialize и присваиваем какой-то переменной:

      $example_var = unserialize(file_get_contents('путь_до_файла'));

      Выводим весь контент в массиве:

      print_r($example_var);

      Array

      (

      [title] => контент в файлах

      [main_text] => Как хранить контент страниц сайта?

      [author] => Марат

      [tags] => php_file/database/file_cms/

      [data] => 14.01.2022

      [img] => engine.png

      )

      Если требуется вывести часть массива( в этом случае можно использовать echo):

      echo $example_var['title'];

      Разместим приведенный код прямо здесь:

      контент в файлах
    6. Сохранить/записать контент в файл пример/скачать

      Для того, чтобы увидеть на реальном примере - как сохранить контент в файле я сделал два примера:

      Как создать файл с контентом.

      На странице применена выше приведенная теория.

      В форме 4 поля ввода.

      Дата(date) формируется автоматически в момент создания и записи контента в файл.

      После создания контента в файле можно на файл посмотреть.

      Следующий шаг - редактирование контента...

      Как отредактировать файл с контентом

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

      Скачать скрипт создания контента в файлах.

      Скачать скрипт создания контента в файлах можно здесь.

      Что в архиве?

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

      Скачать скрипт создания контента в файлах. Что делать с файлами?

      Файлы кидаете в любую папку на сайте.

      Открываем файл data_in_array.php

      Открываете файл "data_in_array.php".

      https://ваш_домен.ru/путь_до_папки/data_in_array.php

      Вы попадете на страницу "создание/сохранение контента в файле"

      Файл edit.php

      Открываете файл "edit.php".

      https://ваш_домен.ru/путь_до_папки/edit.php

      Вы попадете на страницу "редактирование контента в файле"


  3. Хранить сонтент в переменных в файлах.

    Один из вариантов хранения данных в файлах - это переменные.

    Например, как хранится заголовок(title)?

    $title = 'контент в файлах';

    Вывод такой переменной в html шаблон:

    Выводим одним из способов echo

    <title><?=$title?></title>

    Пример хранения контента в переменных в файле:

    Как-то я делал видео о редактировании сайта и там(в том числе) попадает в поле зрения - "как хранится контент в переменных" в файле, начинается видео с 86 секунды:

    В каком формате хранится контент у меня на сайте?

    Сейчас, живых сайтов всего два...

    На сайте https://dwweb.ru/ формат файла с контентом - ".html".

    На сайте https://marrex.ru/ формат файла с контентом - ".dat".

    В следующем пункте более подробно...

    1. Хранение данных/контента в переменных в файлах

      Выше пунктом я уже коснулся темы сохранения контента в переменных. Дополнительно надо более подробно описать всю ситуацию на сайте!

      Итак!

      Как было сказано выше, основной контент сайта, который вы сейчас читаете, находится в переменных, в файле ".html" - видео смотри выше, там как раз на этом месте начинается.

      И второй файл с контентом, это краткая информация о странице - своего рода база данных.

      Можно посмотреть на весь файл? Легко!

      Выводим с помощью print_r - здесь

      1). Хранение контента в переменных:

      Перейдем к подробному разбору - как вообще это работает - "Хранение контента в переменных":

      Для каждой страницы существует отдельный файл ".html"(на другом сайте ".dat").

      Пример хранения контента в переменных:

      Переменных может быть сколько угодно.

      <?

      $title= 'Название страницы';

      $data= 'Дата написания';

      $main_text= 'Основной контент страницы';

      ?>

      Смотрим, как это в редакторе кода:

      Нажмите, чтобы открыть в новом окне.
      Пример хранения контента в переменных:

      На сайте применена единая точка входа - когда вы нажимаете по любой ссылке вы попадаете на файл "https://dwweb.ru/index.html".

      Чтобы php обрабатывался в ".html" файлах надо его "включить"

      Получаем адрес из "адресной строки" и проверяем есть ли такой файл.( - это схематично, тема на отдельную страницу).

      Если файл существует

      ...то используем include и из адреса из адресной строки...

      https://dwweb.ru/kontent_v_faylah.html

      Надо получить путь_на_сервере_до_вашего_файла... например:

      home/www/kontent_v_faylah.html
      После include

      Далее есть отдельный файл "__html.php" - он загружается(include) на "https://dwweb.ru/index.html" последним(я все еще рассказываю структуру своего сайта) - его можно обозвать "html шаблоном", где есть html каркас где и выводятся все переменные... Выводим одним из способов echo, например "$title"

      <title><?=$title?></title>
      Откроем эту страницу в любом редакторе кода
      Пример хранения контента в переменных:

      И далее... нам остается открыть данную страницу с контентом в переменных в браузере...

    2. Плюсы хранения контента в переменных

      Вы можете обработать любую переменную - как вам вздумается! Если в контенте есть какие-то точки, за которые можно зацепиться... например вывести рекламу перед заголовком... сменить рекламу.

      Например на каждом абзаце вам требуется вывести ссылку для копирования...

      Размещение дополнительных переменных в самом файле. На данном пункте надо остановится дополнительно!

      Обращали ли вы внимание, что некоторые сайты, которые посвящены коду, не имеют живой код на странице? А выводят тупые картинки?

      Знаете почему?

      Потому, что переменную внутрь текста просто невозможно поместить... она не будет работать, например потому, что контент в строке, например получают с помощью file_get_contents, там нельзя выполнить переменную(нет... конечно, какие-то костыли можно придумать, типа eval, ну блин - это такая морока...) + для меня очень критичная проблема с таким выводом... как этой функции показать, что данную переменную(номер 1) надо выводить как название переменной, как строку и как вторую переменную выводить как переменную, а не как строку?... Например:

      $example

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

      На странице о себе любимом есть строка...

      И я варюсь в web строительстве: 17 лет

      А выводится это так в переменной(how_much_year - функция высчитывающая сколько лет прошло с начала моего знакомства с web-ом):

      $main_text = 'много текста выше
      И я варюсь в web строительстве: '.how_much_year(2007).'
      много текста ниже
      ';

      Минусы хранения контента в переменных:

      К сожалению, как любая монета имеет две стороны, так и здесь есть свои плюсы и минусы, так и хранение данных в переменных имеет свои минусы!

      Вы всегда должны помнить о конфликте кавычек.

      Редактирование "попеременно", т.е. вывод каждой переменной в своем окне. Здесь есть сложность, только в том случае, если у вас есть переменные внутри переменных. Смотри подробнее в отдельном пункте минусов.


    3. Минусы(отдельно) хранения контента в переменных:

      О минусах хранения в переменных я решил выделить в отдельный пункт.

      Давайте так... любой минус можно обойти!

      Это минус, только если у вас в переменной, другая переменная, например:

      $main_text = 'много текста выше
      И я варюсь в web строительстве: '.how_much_year(2007).'
      много текста ниже
      ';

      И если сейчас вывести вот так эту переменную внутри "textarea":

      <textarea><? echo $example_main_text ?></textarea>

      То мы получим вот так... обратите внимание, что тут реальный textarea, потому, что здесь живой код... есть побочный эффект "br и p":


      Как я обошел эту проблему?

      Всё просто!

      Я пишу полный код в файл.

      Получаю код из файла с помощью file_get_contents и вывожу в "textarea".

      <?

      $title = 'Пример.';

      $main_text = 'много текста выше

      И я варюсь в web строительстве: '.how_much_year(2007).'

      много текста ниже

      ';

      ?>

      Зачем вам нужна переменная внутри другой переменной!?

      Здесь вы можете правомерно спросить меня: "зачем мне нужна переменная внутри другой переменной"!?

      - Если у вас стационарный текст, без переменных, то такой минус у вас не будет существовать!

      Зачем мне нужна переменная внутри другой переменной!?

      Ну...

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

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

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

    4. Как записывать контент на страницу файла?

      Алгоритм простой... в форме заполняются соответствующие поля. И php код записывает эти данные на страницу.

      Для понимания всех процессов описанных ниже в php программе вам потребуются темы:

      Принимать отправлять переменные - post

      Записывать будем с помощью file_put_contents

      Заменим путь на сервер на домен - str_replace

      + переадресация.

      Используем exit для остановки php программы и во внутрь поместим переадресацию на готовую страницу.

      PHP:

      <?

      $home = $_SERVER['DOCUMENT_ROOT'];

      $domen = $_SERVER["HTTP_X_FORWARDED_PROTO"].'://'.$_SERVER["HTTP_HOST"];

      $path = '';//если путь не прописать, то файл сохранится в корневой папке

      $dir_page = $home . $path. '/example.html';

      if($_POST['title']){$title = $_POST['title'];}

      if($_POST['H1']){$H1= $_POST['H1'];}

      $example_tags = 'example_tags';

      if($_POST['main_text']){$main_text= $_POST['main_text'];}

      if($_POST['new_page'])

      {

      $write = file_put_contents($dir_page, '<?

      $title = '.$title.' ;

      $H1 = '.$H1.';

      $data = '.date('d.m.Y').' ;

      $example_tags = 'example_tags';

      $main_text = '.$main_text.';'."\n");

      ?>';

      $refresh_url = str_replace($home, $domen, $dir_page);

      if($write) {exit('<meta http-equiv="refresh"content="0;url='.$refresh_url.'">'); }

      }

      ?>

      Для отправки данных контента вам понадобится форма типа/вида:

      <form method="post">

      <input type="text" name="title" placeholder="заголовок">

      <input type="text" name="H1" placeholder="заголовок H1">

      <input type="text" name="tags" placeholder="tags">

      <textarea name="main_text" placeholder="main_text"></textarea>

      <input type="submit" name="new_page" placeholder="Создать страницу">

      </form>

      Получится:
    5. Как выводятся переменные на реальную страницу?

      Далее все представлено схематично! Более целостно будет, когда появится кнопка скачать...

      1). Это будет отдельный файл с контентом.

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

      <?

      $title = 'example title';

      $H1 = 'example H1';

      $data = '21.04.2021';

      $example_tags = 'example tags';

      $main_text = 'example main_text';

      ?>

      2). Отдельный файл - Html шаблон.

      Html код страницы, где будет выводиться значение переменных:

      Для примера это будет выглядеть так:

      <!DOCTYPE html>

      <html lang="ru">

      <head>

      <meta charset="UTF-8">

      <title><?=$title?></title>

      </head>

      <body>

      <h1><?=$H1?></h1>

      <span><?=$data?></span>

      <div><?=$data?></div>

      </body>

      </html>

      Вы должны спросить, а что такое "tags"?
      Пример сортировки тем по "tags" - https://dwweb.ru/?tema=file_cms
      Здесь "file_cms" - один из тегов. который прописан и в файле и базе. о "{tags}"

      Дополнительно вам потребуется для изучения:

Не стесняемся говорить спасибо!
Помочь проекту DwWeb.ru

Поделиться ссылкой! C друзьями или врагами!

Этим вы очень поможете проекту! Заранее огромное спасибо!

Теги:
На сайте сейчас :
Ещё : Игра "пятнашки"
Угадай страну по флагу
dwweb.ru есть здесь:
ruweb
Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2024 Контакты. Реклама на сайте Лучший хостинг : RUWEB + помощь по RUWEB
Страница загружена за : 0.036455 секунд. Подробнее