Intereting Posts
PDF, созданный с помощью FPDF и способ сохранения и извлечения PDF (PHP) Singleton Database Class – как насчет статических методов? ImageMagick отображает искаженный текст вместо изображения Как объединить тесты модулей модуля / приложения ZF2 в один вызов? Symfony2: «Запомнить меня» пытается аутентифицироваться по имени пользователя по электронной почте Какой самый лучший и простой способ заполнить раскрывающийся список, основанный на другом выпадающем меню Как отключить устаревшие сообщения в Joomla? Не удалось получить имя пользователя через график api после перехода на другой сервер Поиск регулярного выражения Mysql без повторяющихся символов Как объединить числа в одну группу Как я могу найти, какой домен запрашивает iframe с моего сервера и сохраняет домен в базе данных Подключение к Azure Active Directory из веб-приложения PHP PHP Form, когда текст не вводится Как разрешить HTML в белом списке с помощью PHP PHP-сессия без файлов cookie

Простой PHP-редактор текстовых файлов

Я разработал сайт для клиента, и он хочет иметь возможность редактировать небольшую часть главной страницы в виде бэкэнд-решения. Поэтому, как решение, я хочу добавить очень простой редактор (domain.com/backend/editor.php), который, когда вы его посещаете, будет иметь текстовое поле с кодом и кнопкой сохранения. Код, который он будет редактировать, будет установлен в TXT-файл.

Я бы предположил, что такая вещь будет легко закодировать на PHP, но google не помог мне на этот раз, поэтому я надеюсь, что здесь может быть кто-то, кто указал бы мне в правильном направлении. Обратите внимание, что у меня нет опыта программирования на PHP, только HTML и базового javascript, поэтому, пожалуйста, будьте внимательны в любом ответе, который вы предоставляете.

Вы создаете форму HTML для редактирования содержимого текстового файла. Если он отправлен, вы обновляете текстовый файл (и перенаправляете его снова, чтобы предотвратить предупреждения F5 / Refresh):

<?php // configuration $url = 'http://domain.com/backend/editor.php'; $file = '/path/to/txt/file'; // check if form has been submitted if (isset($_POST['text'])) { // save the text contents file_put_contents($file, $_POST['text']); // redirect to form again header(sprintf('Location: %s', $url)); printf('<a href="%s">Moved</a>.', htmlspecialchars($url)); exit(); } // read the textfile $text = file_get_contents($file); ?> <!-- HTML form --> <form action="" method="post"> <textarea name="text"><?php echo htmlspecialchars($text) ?></textarea> <input type="submit" /> <input type="reset" /> </form> 

Чтобы прочитать файл:

 <?php $file = "pages/file.txt"; if(isset($_POST)) { $postedHTML = $_POST['html']; // You want to make this more secure! file_put_contents($file, $postedHTML); } ?> <form action="" method="post"> <?php $content = file_get_contents($file); echo "<textarea name='html'>" . htmlspecialchars($content) . "</textarea>"; ?> <input type="submit" value="Edit page" /> </form> 

Вы в основном ищете аналогичную концепцию для контактной формы или аналогичной.

Примените те же принципы из учебника, как этот, и вместо того, чтобы отправлять по электронной почте с помощью mail проверьте функции файлов из PHP.net.

Что тогда у вас Google? Файл записи php дает мне несколько миллионов хитов.

Как и в руководстве для fwrite() :

 <?php $fp = fopen('data.txt', 'w'); fwrite($fp, '1'); fwrite($fp, '23'); fclose($fp); // the content of 'data.txt' is now 123 and not 23! ?> 

Но, честно говоря, сначала вы должны забрать книгу PHP и начать пытаться. Вы не указали ни одного требования, кроме того, что вы хотите разместить текстовое поле (textarea, я имею в виду?), В TXT-файл. Это будет делать:

 <?php if ($_SERVER['REQUEST_METHOD'] == "POST") { $handle = fopen("home.txt", 'w') or die("Can't open file for writing."); fwrite($fh, $_POST['textfield']); fclose($fh); echo "Content saved."; } else { // Print the form ?> <form method="post"> <textarea name="textfield"></textarea> <input type="submit" /> </form> <?php } 

Обратите внимание, что это точно соответствует вашему описанию. Он не читает файл при печати формы (поэтому каждый раз, когда вы хотите отредактировать текст, вам нужно начинать с нуля), он не проверяет вход для чего-либо (вы хотите, чтобы пользователь мог отправлять HTML-сообщения ?), он не имеет проверки безопасности (каждый может получить к нему доступ и изменить файл), и никоим образом не читает файл для отображения на требуемой странице.

Первое, что нужно сделать, это захватить информацию, самым простым способом сделать это будет использование HTML-формы с TEXTAREA:

 <form method='post' action='save.php'> <textarea name='myTextArea'></textarea> <button type='submit'>Go</button> </form> 

В 'save.php' (или где угодно) вы можете легко увидеть информацию, отправленную из формы:

 <?php echo $_POST['myTextArea'] ?> 

Чтобы создать файл, взгляните на команды fopen / fwrite в PHP, еще один упрощенный пример:

 <?php $handle = fopen("myFile.txt","w"); fwrite($handle,$_POST['myTextArea']; fclose($handle); ?> 

ПРЕДУПРЕЖДЕНИЕ: Это очень простой ответ! Вы, возможно, захотите защитить свою форму и свой файл или сделать что-то другое … Все вышеизложенное будет делать ТОЧНО, что было отправлено в форме в файл. Если вы хотите указать разные имена файлов, переписать, добавить, проверить плохой контент / спам и т. Д., Тогда вам нужно будет сделать больше работы.

Если у вас есть редактор, который является общедоступным и публикует контент на веб-странице, тогда защита от спама – это требование DEFINITE, или вы пожалеете об этом!

Если вам не интересно изучать PHP, тогда вы должны подумать о том, чтобы профессиональный разработчик заботился о любой работе по кодированию для вас!

У меня была аналогичная потребность, поэтому мы создали клиентское решение под названием stringmanager.com, которое мы используем во всех наших проектах и ​​местах, где CMS неэффективна.

С вашей стороны вам просто нужно пометить строку в коде, то есть из:

echo «Текст, который он хочет редактировать»; чтобы:

echo _t ("S_Texthewantstoedit");

stringmanager.com заботится обо всем остальном. Ваш клиент может управлять этой конкретной текстовой областью в нашем онлайн-приложении и синхронизировать, где бы он ни пожелал. Почти забыл упомянуть, он совершенно свободен.

 <?php $file = "127.0.0.1/test.html"; $test = file_get_contents('1.jpg', 'a'); if (isset($_POST['test'])) { file_put_contents($file, $_POST["test"]); }; ?> <form action="" method="post"> <textarea id="test" name="test" style="width:100%; height:50%;"><? echo "$test"; ?></textarea> <input type="submit" value="submit"> </form> 

Не успел закончить, простейший, добавит больше, если захочет.