php вывод определенной строки

Станислав
На сайте с 27.12.2009
Offline
237
9855

Здравствуйте, подскажите можно ли осуществить следующее

На сервере есть фаил .txt или же .php (без разницы в коком расширении все будет лежать)

В это файле написано по строчкам

1. надпись

2. надпись

3. надпись

4. надпись

и.т.д.

Можно ли как то на странице по средством php вывести в определенном месте одну строчки из этих всех строчек, затем в другом месте другую строчку.


<body>
Мне нравится <?php include 'fail.php'; ?> // кот то сделать чтобы 1 строчка отображалась
Мне нравится больше <?php include 'fail.php'; ?> // кот то сделать чтобы 2 строчка отображалась
А мне нравится <?php include 'fail.php'; ?> // кот то сделать чтобы 3 строчка отображалась
</body>

Реализуемо ли это? Посредством php вывести строки из определенного файла

Мы там, где рады нас видеть.
DiAksID
На сайте с 02.08.2008
Offline
218
#1

легко:


array file ( string $filename [, int $use_include_path [, resource $context]] )

Данная функция идентична функций readfile() с той разницей,
что file() возвращает содержимое прочитанного файла в виде массива.
Каждый элемент возвращенного массива содержит соответствующую строку
с символами конца строки.
В случае ошибки, функция file() возвращает FALSE.

дальше понятно?

show must go on !!!...
Станислав
На сайте с 27.12.2009
Offline
237
#2
DiAksID:
дальше понятно?

нет, я в php не шарю, можно как то на примере показать, что и куда впихнуть надо )

Заранее спасибо

D
На сайте с 25.11.2007
Offline
61
#3


<?php
$contentfile = "myfile.txt";
$my_arr = file($contentfile);
// $my_arr = str_replace("\r", "", $my_arr); разкомментировать, если нужно убрать перевод строк
// $my_arr = str_replace("\n", "", $my_arr); разкомментировать, если нужно убрать перевод строк
?>

дальше где выводить надо


<?php echo $my_arr[N]; ?>

где N номер строки в файле начиная с нуля.

Удачи

DiAksID
На сайте с 02.08.2008
Offline
218
#4
Ms-Dred:
нет, я в php не шарю, можно как то на примере показать, что и куда впихнуть надо )
Заранее спасибо

в начале считываете файл в массив:


<?php $text=file( 'путь до файла из директории работы скрипта' ) ?>

потом в нужных местах втыкаете элементы массива:


<?php echo $text[0] ?>
...
<?php echo $text[1] ?>
...
<?php echo $text[2] ?>
...

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

если "надписи" на самом деле составные (типа "имя адрес телефон"), то надо немного другим способом fgetcsv() использовать, а данные в csv формате записывать - тогда будет считываться матрица из файла....

Станислав
На сайте с 27.12.2009
Offline
237
#5

Все спасибо, супер просто!!!!!!

Monsterkill2008
На сайте с 01.10.2008
Offline
25
#6

Если разделитель новой строки перенос то

$array = explode(PHP_EOL, file_get_contents('file_name.txt'));

echo $array['string_number'];
Станислав
На сайте с 27.12.2009
Offline
237
#7

потерто.............

DiAksID
На сайте с 02.08.2008
Offline
218
#8

слегка "кашеобразный" ;) вопрос. по сути:

<?php echo $text[0] ?> - первая строка

<?php echo $text[1] ?> - вторая строка

<?php echo $text[2] ?> - третья строка

... и т.д.

можете для инфы разок вывести <?php var_dump( $text ) ?> где-нибудь. увидите под какими индексами что хранится в массиве...

Станислав
На сайте с 27.12.2009
Offline
237
#9

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

А как вывести редактирование этого файла на страницу, какой код поставить?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий