textarea, файл и php

Модератор: Модераторы разделов

Аватара пользователя
agent-mega
Сообщения: 505
Статус: Автономный модуль

textarea, файл и php

Сообщение agent-mega »

Как грамотнее всего поместить содержимое текстового файла, имя которого хранится в переменной $FILENAME (соблюдая переносы строк) в textarea после отправки формы?

Например:

Код: Выделить всё

<form
. . .
<input type=text name=text>
<input type=submit value=OK>
. . .
</form>

После нажатия кнопки ОК в переменную $FILENAME попадает имя файла из поля ввода и вот тут надо создать <textarea> и вывести в нём этот файл.
DEBIAN & DEBIAN-BASED ONLY

Всё относительно. Объективности не существует.
Спасибо сказали:
Аватара пользователя
Гарыныч
Сообщения: 202
ОС: Gentoo

Re: textarea, файл и php

Сообщение Гарыныч »

Не совсем понял намерения, но:

Код: Выделить всё

if(file_exists($FILENAME)) {
  $file = join('', file($FILENAME));
  echo "<textarea>$file</textarea>";
} else {
....
}
Спасибо сказали:
Аватара пользователя
Sparky
Сообщения: 604
Статус: core dumped
ОС: Plan 9

Re: textarea, файл и php

Сообщение Sparky »

Читай построчно из $FILENAME либо функцией file() ( которая помещает строки в массив) либо open(), read() и ставим между строками <br>; либо функцией file_get_contents() читаем весь файл и заменяем "\n" на <br>.
Вот так например:

Код: Выделить всё

$file = file_get_contents($FILENAME);
echo '<textarea>' . str_replace('\n','<br>',$file) . '</textarea>';
Блог
--------------------

GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
Спасибо сказали:
Аватара пользователя
agent-mega
Сообщения: 505
Статус: Автономный модуль

Re: textarea, файл и php

Сообщение agent-mega »

Всем спасибо, думаю, вариант

Код: Выделить всё

$file = join('', file($FILENAME));
echo "<textarea>$file</textarea>";

мне наиболее подходит :)
DEBIAN & DEBIAN-BASED ONLY

Всё относительно. Объективности не существует.
Спасибо сказали:
Аватара пользователя
Sparky
Сообщения: 604
Статус: core dumped
ОС: Plan 9

Re: textarea, файл и php

Сообщение Sparky »

agent-mega писал(а):
18.12.2005 20:12
Всем спасибо, думаю, вариант

Код: Выделить всё

$file = join('', file($FILENAME));
echo "<textarea>$file</textarea>";

мне наиболее подходит :)

А разве так переносы строк сохранятся?
Блог
--------------------

GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
Спасибо сказали:
Аватара пользователя
Гарыныч
Сообщения: 202
ОС: Gentoo

Re: textarea, файл и php

Сообщение Гарыныч »

Естественно. Приведенный способ помещает в переменную $file файл _целиком_.
З.Ы. Текстарии переносят строки не br'ами, а \n :)
Спасибо сказали:
Аватара пользователя
Sparky
Сообщения: 604
Статус: core dumped
ОС: Plan 9

Re: textarea, файл и php

Сообщение Sparky »

Гарыныч писал(а):
18.12.2005 20:53
Естественно. Приведенный способ помещает в переменную $file файл _целиком_.
З.Ы. Текстарии переносят строки не br'ами, а \n :)


Серьезно? В HTML документе? Может внутри тегов <textarea> только если, вот я не уверен.
Блог
--------------------

GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
Спасибо сказали:
Аватара пользователя
Гарыныч
Сообщения: 202
ОС: Gentoo

Re: textarea, файл и php

Сообщение Гарыныч »

Sparky, читайте внимательнее:
Гарыныч писал(а):
18.12.2005 20:53
...
З.Ы. Текстарии переносят строки не br'ами, а \n :)

Я про textarea и говорю.
Спасибо сказали:
Аватара пользователя
Sparky
Сообщения: 604
Статус: core dumped
ОС: Plan 9

Re: textarea, файл и php

Сообщение Sparky »

Гарыныч писал(а):
18.12.2005 22:55
Sparky, читайте внимательнее:
Гарыныч писал(а):
18.12.2005 20:53

...
З.Ы. Текстарии переносят строки не br'ами, а \n :)

Я про textarea и говорю.

м... тогда сорри, не заметил B)
Блог
--------------------

GCS/M/MU/P/IT/E d- s: a- C++(+++) UBL++ P->-- L+++$ E- W+++$ N* o? K? w>--
O M-@ V- PS@ PE+ Y+ PGP+ t 5 X R* tv-->- b++ DI? D>+ G e+(++) h--- r+ y++
Спасибо сказали: