За последние 24 часа нас посетили 17337 программистов и 1627 роботов. Сейчас ищут 1226 программистов ...

Перенос данных из формы в ХТМЛ-файл и далее

Тема в разделе "PHP для новичков", создана пользователем Pcrepair, 20 авг 2012.

  1. Pcrepair

    Pcrepair Активный пользователь

    С нами с:
    22 сен 2011
    Сообщения:
    14
    Симпатии:
    0
    Добрый день. Есть следующая ситуация:
    1. загрузачная страница с формой (textarea) и кнопкой отправки (все как обычно)
    2. пользователь загружает браузером страницу, вводит текст<form method="POST" action="out_page.php"> и нажимает кнопку <input type="submit">
    3. в обработчике out_page.php происходит $data=$_POST['Data']; теперь текст в переменной

    теперь нужно данные в $data перенести в файл out_data.html (предварительно удалив все предыдущие строки в файле) чтобы данные мог забрать другой клиент, который периодически подключается к серверу и загружает этот файл

    Подскажите, как с использованием РНР все это сделать?
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Сделайте шаблон страницы. В месте, где должен быть текст поставьте поле-метку. Потом функцией str_replace заменяйте метку текстом и сохраняйте файл в нужную, доступную из инета папку. Например, шаблон tpl.tpl:
    Код (Text):
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <meta charset="UTF-8"/>
    5. <title>заголовок</title>
    6. </head>
    7. <body>
    8. <p>[[content]]</p>
    9. </body>
    10. </html>
    В файле out_page.php псевдокод
    Код (PHP):
    1. <?php
    2. $data=$_POST['Data'];//проверяем входящие данные, фильтруем, обрезаем и т.д.
    3.  
    4. $tpl=file_get_contents("tpl.tpl");//читаем шаблон
    5.  
    6. $tpl=str_replace('[[content]]',$data,$tpl);//заменяем поле на значение переменной $data
    7.  
    8. file_put_contents('page.html',$tpl);//сохраняем в файл, который виден из инета    
     
  3. Pcrepair

    Pcrepair Активный пользователь

    С нами с:
    22 сен 2011
    Сообщения:
    14
    Симпатии:
    0
    Спасибо за подсказку, а такой вариант в принципе чем то отличается?

    Код (Text):
    1. <?php
    2.        $data=htmlspecialchars($_POST['Data']); // перенесли данные в ПЕРЕМ
    3.        file_put_contents( "out_data.htm", $data ); //открыли файл, полностью переписали содержимое, закрыли          
    4. ?>
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    тут вы сохраняете всё, что получили через POST.
    Вариант с шаблоном легко расширить, добавить и другие поля, заголовок, например.