Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Создание страниц с текстом


Автор: Alexey007 16.4.2007, 23:26
Вообщем так:
Есть страница, на ней список файлов(желательно сделать типа выпадающего меню(пример в этой отправке сообщения с "Код.")).
Чтобы список файлов сам генирировался(т.е. выписывал все файлы разрешения .html из определенной папки) -> далее переход в форму редактирования:
Задача формы чтобы с помощью такой формы можно было записывать текст в этот же файл...


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

P.S. а ещё круче если бы можно было вставлять на страницу файл Word'a, или штоб окно редактирования выглядело как Word

Автор: PARROT 17.4.2007, 09:10
Alexey007, а в чем проблема?  smile 

Автор: WolfON 17.4.2007, 15:06
про AJAX и WISYWIG не слышали значит

Автор: Alexey007 17.4.2007, 15:16
Вот что собрал(но не работает вывод содержимого файла):
Код

echo '<center><form method="POST" action="index.php?action=text&act='.$fname.'">
 <select size="1">';
while($fname = readdir($dh)){
         $file_array = explode('.', $fname);
         $num = count($file_array);
         $fileres = $file_array[($num - 1)];
         $file_types = explode("|", $CONF['file_types']);
         if(in_array($fileres, $file_types)){
           $files[] = $fname;
echo'<option>'.$fname.'</option>';
         }

}
echo'</select>
  <br>
  <input type="submit" value="OK" name="B1"></form></center>';
include $my->PATH_REG.'/show_bottom.inc';
if(isset($act))
  {
  if($act==$fname)
    {
include $my->PATH_REG.'/show_top.inc';
$text = file_get_contents( $fname );
echo $fname;
print $text;
}}

Автор: CyClon 17.4.2007, 21:27
Для выпадающего списка с динамической подкачкой содержимого (загрузка начинается во время запроса списка) - AJAX + функции для работы с папками / файлами в PHP.
Для выпадающего списка без динамической подкачки (данные известны под генерации страницы) - JavaScript + те же самые функции.

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

Автор: Alexey007 17.4.2007, 22:58
javaScript тут зачем?

Автор: Alexey007 24.4.2007, 23:43
Сделал. Если кому нужно помочь по теме, пишите в PM. Вопрос решил сам.

Автор: Alexey007 25.4.2007, 22:34
Нашел УСТРАШАЮЩИЙ ГЛЮК
Если в тексте файла есть кавычки " ", то он передними ставит \
А мне этого не нужно! А в тексте нужны посредственно такие кавычки!
Что делать?(

Добавлено через 13 минут и 7 секунд
Ух, исправил.. но не до конца.. я сделал замену таких " на такие '
Но дело в том, что мне, возможно, потребуются и те и другие в тексте что тогда?

Автор: PARROT 25.4.2007, 22:49
http://ru.php.net/manual/ru/function.stripslashes.php

Автор: Alexey007 25.4.2007, 23:12
Спасибо большое smile 

Автор: Alexey007 25.4.2007, 23:44
Вообщем теперь надо тоже функция, которая сможет сотворить добавление кавычки в БДsmile
Вот почему:
Код

INSERT INTO news (name) values ('$name_n')

А если в поле $name_n будет одна такая кавычка ' или такая "

Автор: PARROT 26.4.2007, 09:40
Alexey007, за что ты так мануалы не любишь? 
http://ru.php.net/manual/ru/function.addslashes.php

Автор: Alexey007 26.4.2007, 16:42
Дело в том, что с этой функцие все-равно не работает!

Автор: PARROT 26.4.2007, 17:15
Alexey007, не понимаю, а зачем? 
Рисуй кавычки при выводе там где надо.

Автор: Bangladesh 26.4.2007, 17:21
Alexey007, а потому что " и ' не фига не кавычки, а знак дюйма и минуты соответственно. а кавычки это « и », „ и ”, которые имеют свой код в html и нормально выводятся, аналогично и с английскими. 

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

Автор: Alexey007 26.4.2007, 17:46
Вот где не работает:
Там где поле ввода есть value="TEXT"
Этот самый TEXt если содержит в центре две кавычки ", то текст между ними не появляется!

Автор: Alexey007 26.4.2007, 22:03
Шаблон...
Есть ещё вопрос. Это больше вопрос идет о производительности...
Вот файл, который направляет страницу на открытие других:
Код

if(isset($p))
  {
  if($p)
    {
     include $my->PATH_REG.'/show_top.inc';
     $filename = $my->PATH_PAGES.'/'.$p.'.html';
     if (is_readable($filename))
       {
       $text=file_get_contents($filename);
       $text = $my->replace_text($text);
       echo stripslashes($text);
       }
      else
       {
       $text=file_get_contents($my->PATH_PAGES.'/404_pages.html');
       $text = $my->replace_text($text);
       echo stripslashes($text);
       }
include $my->PATH_REG.'/show_bottom.inc';
    }
  }

Просто у меня есть файлы, которые содержат в себе шаблон + в него вставляется текст из другого файла....
В этом коде я совместил шаблон + открытие тех или иных файлов...
Вопрос: Производительность от этого не страдает? Есть ли иной способ сделать это?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)