Jump to content
  • 0

Вставка из файла


Regsit
 Share

Question

Добрый вечер!

Возник такой вопрос: например, есть файл index.php и файл content.php в котором несколько строк с данными (текстом). Как в первый файл вставить определенные строи из второго файла в нужных местах?

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0

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

возможно есть и другой путь, но мало инфо по конкретному случаю...

Link to comment
Share on other sites

  • 0

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

возможно есть и другой путь, но мало инфо по конкретному случаю...

Это не есть факт.

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

Для примера:

content.php


это строка 1
это строка 2
это строка 3

index.php


<?php
$arr = file('content.php');
?>
<div><?=$arr[0];?></div>
<div><?=$arr[1];?></div>
<div><?=$arr[2];?></div>

Edited by wwt
Link to comment
Share on other sites

  • 0

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

возможно есть и другой путь, но мало инфо по конкретному случаю...

Это не есть факт.

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

Для примера:

content.php


это строка 1
это строка 2
это строка 3

index.php


<?php
$arr = file('content.php');
?>
<div><?=$arr[0];?></div>
<div><?=$arr[1];?></div>
<div><?=$arr[2];?></div>

что будет, если страница изменится? юзать все остальные страницы, где применялся такой вывод? тогда может лучше использовать идентификатор и выводить... нужно исходить из конкретного примера, что за текст, для чего он нужен возможно рационально применить конкретное решение, но перенос строки по привязке к её местонахождению в документе для меня сомнительно. Тогда уж лучше из БД... или отдельного файла, который выполнял бы её роль, что в сущности своей соответствует моему совету. Впрочем выбор не за мной, но если бы мне пришлось юзать такую верстку-верстальщика я бы проклинал точно))))) пришлось бы проверять наличие такого переноса во всех страницах, а их может быть не мало...

Link to comment
Share on other sites

  • 0
что будет, если страница изменится? юзать все остальные страницы, где применялся такой вывод? тогда может лучше использовать идентификатор и выводить... нужно исходить из конкретного примера, что за текст, для чего он нужен возможно рационально применить конкретное решение, но перенос строки по привязке к её местонахождению в документе для меня сомнительно. Тогда уж лучше из БД... или отдельного файла, который выполнял бы её роль, что в сущности своей соответствует моему совету. Впрочем выбор не за мной, но если бы мне пришлось юзать такую верстку-верстальщика я бы проклинал точно))))) пришлось бы проверять наличие такого переноса во всех страницах, а их может быть не мало...

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

Для примера это ID для каждой строки. Для примера хранить данные в файле в виде:


0:ID:это строка 1
myid:ID:это строка 3
1:ID:это строка 2

ну и разбирать файл:

<?php
$arr = file('content.php');
$arr_content = array();
foreach($arr as $k=>$v){
$tmp = explode(':ID:',$v);
$arr_content[trim($tmp[0])] = $tmp[1];
}
?>
<div><?=$arr_content[0];?></div>
<div><?=$arr_content[1];?></div>
<div><?=$arr_content['myid'];?></div>

Это конечно извращение, я бы не стал так делать и не советую, лучше уж sqlite заюзать, и годится только для хранения сравнительно коротких строк. Но ведь будет работать ))

Edited by wwt
Link to comment
Share on other sites

  • 0

Вообще-то в последнем посте изобрели вполне легитимный формат CSV (в него можно, например, экспортировать из экселя), для которого в PHP есть специательная функция :)

Но если второй файл — именно .php, не проще ли держать тексты в массиве а-ля


$texts = array(
'header_text' => 'Приветствую вас на супер-мега-сайте',
'about_text' => 'О сайте и его авторах',
...
'copyright_text' => 'Все права защищены, воришки контента будут сурово поколочены)'
);

и выводить в нужных местах <?=$texts['header_text']?> и т.п.?

Link to comment
Share on other sites

  • 0
Вообще-то в последнем посте изобрели вполне легитимный формат CSV (в него можно, например, экспортировать из экселя), для которого в PHP есть специательная функция :)

Не CSV всётаки немного другое =) Там разделители, где в строке может быть много значений и нет ID строки )) Хотя за ID можно держать 1 элемент конечно. ))

И я ничего не изобретал ) просто привел пример )) А про всякие CSV, XML и т.д. не стал писать специально )) Вопрос же был о строках а не о существующих форматах))

Link to comment
Share on other sites

  • 0

Вопрос был о хранении текстовых данных в php-файле :). А CSV, при небольшом объеме и грамотной организации, имхо, вполне может сойти за «нищебродскую БД» для быстрого старта...

Link to comment
Share on other sites

  • 0

Нет вопрос был:

файл content.php в котором несколько строк с данными (текстом). Как в первый файл вставить определенные строи из второго файла в нужных местах?

=) Вопроса как именно хранить не было ))

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy