[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как редактировать txt-файл на сервере?
Rain-
Вобщем идея сайта проста-на главной странице есть 6 новостей и 6 картинок. Все это во флеше. Флеш берет картинки с сервера и новости из файлов *.txt с сервера(т.е. есть 6 джпегов и 6 txt). Как загрузить новые картинки понятно. Помогите разобраться как сделать так, чтобы в поле textarea на страничке администратора отображалась новость из конкретного txt файла сервера, чтобы ее там можно было отредактировать, нажать кнопку сохранить к примеру и на сервере сохранился бы уже новый txt файл(и соответственно на главной появится другая новость). sql не предлагать)) я пока мало с ним знаком, да тут бд в принципе и не нужна, ведь новостей всего 6.



Спустя 5 часов, 25 минут, 59 секунд (16.03.2009 - 07:39) twin написал(а):
Цитата
sql не предлагать))
Молодая, симпатичная, длинноногая, пышнегрудая блондинка с голубыми глазами ищет работу в ночное время. Интим не предлагать. smile.gif
PHP
<?php

if(isset($_POST['edit']) && isset($_POST['text']))
file_put_contents($_GET['news'], $_POST['text'] );

if(isset(
$_GET['news']))
$text = file_get_contents($_GET['news']);

?>


<a href="?news=1.txt" >Новость 1</a><br />
<a href="?news=2.txt" >Новость 2</a><br />
<a href="?news=3.txt" >Новость 3</a><br />
<a href="?news=4.txt" >Новость 4</a><br />
<a href="?news=5.txt" >Новость 5</a><br />
<a href="?news=6.txt" >Новость 6</a><br />
<form action="" method="post" enctype="multipart/form-data" > 
<textarea name="text" cols="70" rows="15"><?php echo htmlspecialchars($text?></textarea><br />
<input name="edit" type="submit" />
</form>

Спустя 1 час, 10 минут, 15 секунд (16.03.2009 - 08:49) freed-master написал(а):
Цитата
sql не предлагать))

Я тоже долго сопротивлялся, пока окончательно за зашел в тупик...

А потом решился, и жизнь реально стала легче wink.gif, главное понять принцип, а дельше дело фантазии. Очень рекомендую!

Спустя 26 минут, 7 секунд (16.03.2009 - 09:15) sergeiss написал(а):
Цитата (freed-master @ 16.03.2009 - 08:49)
...главное понять принцип, а дельше дело фантазии. Очень рекомендую!...

Почти как в фильме "Правдивая ложь": "тут как на велосипеде - один раз научишься, и уже никогда не забудешь" (С) smile.gif

PS. А по сути вопроса уже ответили.

Спустя 13 минут, 36 секунд (16.03.2009 - 09:29) Rain- написал(а):
twin, огромное спасибо за код, но у меня возникла проблема. Я еще только начинаю учить язык PHP, поэтому извините, если вопрос глупый, но: при запуске этого скрипта вместо того чтобы открыться 1.txt, 2.txt и тд, я вижу в textarea лишь строку с кодом <?php echo htmlspecialchars($text) ?>. подскажите, почему она не обрабатывается? и еще: что значит action=""? это правильный синтаксис?
freed-master , я понимаю, просто у меня нету времени на то, чтобы разбирать СУБД. для этого нужен опыт) я еще дойду до этого)

Спустя 19 минут, 9 секунд (16.03.2009 - 09:48) sergeiss написал(а):
Цитата (Rain- @ 16.03.2009 - 09:29)
freed-master , я понимаю, просто у меня нету времени на то, чтобы разбирать СУБД. для этого нужен опыт) я еще дойду до этого)

Надо бы вынести в отдельную, прикрепленную тему, ответ на это "утверждение".

Есть такая притча.
Идет мужик по лесу. И видит - другой мужик пилит дерево тупой пилой. Первый посмотрел-посмотрел... И говорит: "Ты бы заточил пилу, удобнее и быстрее будет".
А второй отвечает со стоном: "Некогда мне, мне пилить надо!"

Вот freed-master уже понял, что острой пилой удобнее работать. Да и опыт - это как раз то, что нарабатывается в процессе сознательной тренировки.

Спустя 1 час, 25 минут, 45 секунд (16.03.2009 - 11:14) twin написал(а):
Цитата
вижу в textarea лишь строку с кодом <?php echo htmlspecialchars($text) ?>. подскажите, почему она не обрабатывается? и
Потому что этот файл нужно сохранить с расширением .php

Спустя 1 минута, 31 секунда (16.03.2009 - 11:15) twin написал(а):
Цитата
что значит action=""? это правильный синтаксис?
Да, правильный. Это значит, что запрос пойдет на эту же страницу, сохраняя все гет параметры.

Спустя 4 часа, 32 минуты, 27 секунд (16.03.2009 - 15:48) Rain- написал(а):
файл естественно сохранен в как *.php, весь код читается, кроме той строки, которая внутри техтареа. в той же папке лежат news=1.txt, 2.txt и тд. версия пхп - PHP Version 5.2.9-1. Эх, видимо придется разбираться с базами данных. Все-равно, спасибо всем за помощь smile.gif (если есть идеи,почему не читается код внутри техтареа-пишите wink.gif )

Спустя 13 минут, 16 секунд (16.03.2009 - 16:01) sergeiss написал(а):
Цитата (Rain- @ 16.03.2009 - 15:48)
файл естественно сохранен в как *.php, весь код читается, кроме той строки, которая внутри техтареа. в той же папке лежат news=1.txt, 2.txt и тд. версия пхп - PHP Version 5.2.9-1. Эх, видимо придется разбираться с базами данных. Все-равно, спасибо всем за помощь smile.gif (если есть идеи,почему не читается код внутри техтареа-пишите wink.gif )

У тебя в этом коде ошибка: надо поставить точку с запятой в конце.
То есть, вместо <?php echo htmlspecialchars($text) ?>
надо написать <?php echo htmlspecialchars($text); ?>

При выключенном показометре ошибок (а скорее всего показ ошибок выключен) ты эту ошибку не увидишь.

Спустя 40 минут, 37 секунд (16.03.2009 - 16:42) Alchemist написал(а):

Спустя 10 минут, 24 секунды (16.03.2009 - 16:52) sergeiss написал(а):
Цитата (Alchemist @ 16.03.2009 - 16:42)
sergeiss, http://ru2.php.net/manual/ru/language.basi...-separation.php

Могет быть и так rolleyes.gif

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

Спустя 2 минуты, 15 секунд (16.03.2009 - 16:54) twin написал(а):
Цитата
У тебя в этом коде ошибка: надо поставить точку с запятой в конце.
Это не ошибка, в последней записи точка с запятой не обязательна. Я всегда так пишу для простоты и читабельности. C HTML обычно работают верстальщиеки, а им чем меньше букаф, тем проще.
Rain-
попробуй так сделать:

PHP
<?php

if(isset($_POST['edit']) && isset($_POST['text']))
file_put_contents($_GET['news'], $_POST['text'] );

if(isset(
$_GET['news']))
$text = file_get_contents($_GET['news']);

echo htmlspecialchars($text);

Спустя 32 минуты, 10 секунд (16.03.2009 - 17:26) Rain- написал(а):
ничего не выходит( для наглядности залил скрин на файлообменник : __sharemania.ru/0204251

Спустя 2 часа, 38 минут, 4 секунды (16.03.2009 - 20:05) twin написал(а):
Ну а зачем скрин то нужен... Просто сделай так (прямо в этом файле):
PHP
<?
phpinfo();
Что покажет?

Спустя 35 минут, 58 секунд (16.03.2009 - 20:40) Rain- написал(а):
Ух ты, спасибо! Я нашел проблему-путь, если запускать пхп-файл "открыть с помощью", в браузере не тот отображается(извините, сам долго непонимал почему пхпинфо работает правильно, а этот скрипт не читается). Но теперь возникла другая проблема. Что-то с кодировкой. В форме отображается приблизительно следующее(английские символы понимает):

Председатели и члены участковых избирательных комиссий от БЮТ присутствуют на избирательных участках Тернопольской области.

если в скрипте
Цитата
<?php
if(isset($_POST['edit']) && isset($_POST['text']))
file_put_contents($_GET['news'], $_POST['text'] );

if(isset($_GET['news']))
$text = file_get_contents($_GET['news']);
echo htmlspecialchars($text);
?>

строки echo htmlspecialchars($text) нет, то текст отображается как показано выше, а если эта строку я оставляю, то у меня в браузере сверху выписывается содержимое файла ну и в форме соответственно тоже правильно, НО! все надписи "Новость 1", "Новость 2" и тд после нажатия превращаются в вопросительные знаки biggrin.gif

Спустя 13 минут, 55 секунд (16.03.2009 - 20:54) twin написал(а):
Ну дык разобраться надо с кодировками. Вообще, если интересно, как писать и читать файлы, и как то же самое делать с мускулом, почитай это

Спустя 23 минуты, 54 секунды (16.03.2009 - 21:18) Rain- написал(а):
спасибо огромное за помощь, twin , буду разбираться rolleyes.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.