Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Редактирование файла .txt через админку
 
 автор: demodesign   (02.10.2008 в 17:52)   письмо автору
 
 

Уважаемые програмисты, я новичок в PHP учусь чисто сам.
Подскажите пожалуйста, можно ли редактировать текстовый файл через Админку, а потом вывести сам текст на страничку. Через MySQL пока не хочу.
Заранее больное спасибо!

  Ответить  
 
 автор: nek-v   (02.10.2008 в 17:54)   письмо автору
 
   для: demodesign   (02.10.2008 в 17:52)
 

админку чего?
что в файле?

  Ответить  
 
 автор: demodesign   (02.10.2008 в 18:02)   письмо автору
 
   для: nek-v   (02.10.2008 в 17:54)
 

Может это и тупо но мне очень надо.
Смысл в том, что допустим текст на главной страничке сайта будет храниться в простом текстовом файле. И я хочу сделать так, чтобы его можно было бы редактировать прямо с сайта.
То есть,..открыть, отредактировать, и снова загрузить.

  Ответить  
 
 автор: ddhvvn   (02.10.2008 в 18:01)   письмо автору
 
   для: demodesign   (02.10.2008 в 17:52)
 

Можно.

А почему нельзя то? Чем админка "особенна"? )
Естественно, нужно будет только разобраться с доступом!

  Ответить  
 
 автор: nek-v   (02.10.2008 в 18:07)   письмо автору
 
   для: ddhvvn   (02.10.2008 в 18:01)
 

в теории:
создайте форму куда текст писать ,ну и

<?php
$file
='text.txt';
$read=fopen($file"a+");
fwrite($_POST['var'],$read);
fclose($read);
?>

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

  Ответить  
 
 автор: ddhvvn   (02.10.2008 в 18:39)   письмо автору
 
   для: nek-v   (02.10.2008 в 18:07)
 

Спасибо, конечно, но я это уже знал! ))

  Ответить  
 
 автор: demodesign   (02.10.2008 в 22:21)   письмо автору
83.9 Кб
 
   для: nek-v   (02.10.2008 в 18:07)
 

К сожалению ничего не получается..
Я заключил вышеуказанный скрипт в отдельный PHP файл.

text_glavnay.php


<?php 
$file
='t/text_glavnay.txt'
$read=fopen($file"r+"); 
fwrite($_POST['var'],$read); 
fclose($read); 
?>


Затем создал форму.которая находятся в отдельной папке


<form id="form1" name="form1" method="post" action="obrabotka/text_glavnay.php">
 <label>
 <textarea name="textfield" cols="85" rows="10" id="textfield"></textarea>
 </label>
  <p>
 <label>
  <input type="submit" name="button" id="button" value="редактировать" />
  </label>
   <br />
  </p>
 </form>


А этот скрипт выводит сам текст на страничке ( он работает!)


<?
$f
=file_get_contents("t/text_glavnay.txt""r");
echo 
$f;
?>


Но при нажатии на кнопку РЕДАКТИРОВАТЬ, выводится надпись что такого файла несуществует..

Помогите пожалуйста разобраться в чем мой прромах

  Ответить  
 
 автор: cheops   (03.10.2008 в 04:37)   письмо автору
 
   для: demodesign   (02.10.2008 в 22:21)
 

Вместо режима "r+", лучше используйте "w" или "w+", дело в том, что при "r+" файл не создается, если не существует. Кроме того, в функции fwrite() файловый дескриптор должен находится на первом месте, а не на втором. В HTML-форме текстовая область у вас называется textfield, а в обработчике вы обращаетесь к $_POST['var'], который разумеется пустой, так как такого параметра из HTML-формы не поступает. Попробуйте исправить обработчик следующим образом
<?php  
  $file
='t/text_glavnay.txt';  
  
$read fopen($file"w+");  
  
fwrite($read$_POST['textfield']);  
  
fclose($read);  
?>

  Ответить  
 
 автор: nek-v   (02.10.2008 в 18:13)   письмо автору
 
   для: demodesign   (02.10.2008 в 17:52)
 

>Через MySQL пока не хочу.

а зря. попроще будет

  Ответить  
 
 автор: Расшифровка   (02.10.2008 в 18:41)   письмо автору
 
   для: demodesign   (02.10.2008 в 17:52)
 

работать с файлами интереснее, а для сервера быстрее, если нагрузки не критические и ресурс простой, для начала ознакомьтесь с http://www.softtime.ru/info/task.php , там много интересного
по вашей теме здесь,
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=12366
админка это то место, которое ограничено для доступа,
вариантов закрыть доступ множество
-.htaccess
-введение логина и пароля
-введения секретного кода
-просто секретная ссылка

  Ответить  
 
 автор: demodesign   (02.10.2008 в 19:45)   письмо автору
 
   для: Расшифровка   (02.10.2008 в 18:41)
 

Спасибо, буду пробовать.
Я просто сделал инет магазин, и собираюсь делать для него админку.
К сожалению поздно начал изучать PHP. ( пол жизни провёл в армии )
Вот и пытаюсь наверстать упущенное. Самому интересно, но очень сложно.
А вот и магазин ( если интересно..)
http://kachestvennie-dveri.ru/

  Ответить  
 
 автор: cheops   (02.10.2008 в 20:48)   письмо автору
 
   для: demodesign   (02.10.2008 в 17:52)
 

Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=17125.

  Ответить  
 
 автор: demodesign   (02.10.2008 в 23:23)   письмо автору
 
   для: cheops   (02.10.2008 в 20:48)
 

Ничего не получается...
Я выше написал какие у меня скрипты.
Помогите пожалуйста.
Даже если можно то с самого начала..
Мне нужен текстовый файл, который можно редактировать через форму, и выводиться на страничку index.php

  Ответить  
 
 автор: cheops   (03.10.2008 в 04:27)   письмо автору
 
   для: demodesign   (02.10.2008 в 23:23)
 

Чем не подходит решение
<?php 
  
// Файл edit.php 
  // Если передано исправленное содержимое файла 
  // открываем файл и перезаписываем его 
  
if(isset($_POST['content'])) 
  { 
    
// Открываем файл 
    
$fd = @fopen($_POST['filename'], "w"); 
    
// Если файл не может быть открыт - сообщаем 
    // об этом предупреждением в окне браузера 
    
if(!$fd) exit("Такой файл отсутствует"); 
    
// Перезаписываем содержимое файла 
    
fwrite($fdstripslashes($_POST['content'])); 
    
// Закрываем файл 
    
fclose($fd); 
    
// Помещаем в суперглобальный массив $_GET 
    // имя файла 
    
$_GET['filename'] = $_POST['filename']; 
  } 
?> 
<form name=first method="get"> 
   Имя файла <input type="text" name="filename"  
                    value=<?php echo $_GET['filename']; ?>><br> 
  <input type="submit" value="Отправить"> 
</form> 
<?php 
  
// Если в строке запроса передано имя 
  // файла - открываем его для редактирования 
  
if(isset($_GET['filename'])) 
  { 
    
// Открываем файл 
    
$fd = @fopen($_GET['filename'], "r"); 
    
// Если файл не может быть открыт - сообщаем 
    // об этом предупреждением в окне браузера 
    
if(!$fd) exit("Такой файл отсутствует"); 
    
// Помещаем содержимое файла в переменную $bufer 
    
$bufer fread($fdfilesize($_GET['filename'])); 
    
// Закрываем файл 
    
fclose($fd); 
    
?> 
      <form name=second method="post"> 
        <textarea cols=76 rows=10 name="content"
        ><?php echo $bufer?></textarea><br> 
        <input type="hidden" name=filename  
               value='<?php echo $_GET['filename']; ?>'> 
        <input type="submit" name=edit value="Редактировать"> 
      </form> 
    <?php 
  

?>

Что-то не работает или работает не так?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования