Editor PHP simple de archivos de texto

Desarrollé un sitio para un cliente y él quiere poder editar una pequeña parte de la página principal en una solución tipo back-end. Entonces, como solución, quiero agregar un editor muy básico (domain.com/backend/editor.php) que cuando lo visite, tendrá un campo de texto con el código y un botón para guardar. El código que editará se establecerá en un archivo TXT.

Supongo que tal cosa sería fácil de codificar en PHP, pero google no me ayudó esta vez, así que espero que haya alguien aquí que me señale la dirección correcta. Tenga en cuenta que no tengo experiencia en progtwigción de PHP, solo HTML y javascript básico, así que sea minucioso en cualquier respuesta que proporcione.

Usted crea un formulario HTML para editar el contenido del archivo de texto. En caso de que se envíe, actualice el archivo de texto (y vuelva a dirigirlo al formulario para evitar advertencias de 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('Moved.', htmlspecialchars($url)); exit(); } // read the textfile $text = file_get_contents($file); ?>  

Para leer el archivo:

 < ?php $file = "pages/file.txt"; if(isset($_POST)) { $postedHTML = $_POST['html']; // You want to make this more secure! file_put_contents($file, $postedHTML); } ?> 
< ?php $content = file_get_contents($file); echo "
< ?php }

Tenga en cuenta que esto coincide exactamente con su descripción. No lee el archivo cuando imprime el formulario (por lo que cada vez que desea editar el texto, debe comenzar desde cero), no verifica la entrada por nada (¿desea que el usuario pueda publicar HTML? ?), no tiene control de seguridad (todos pueden acceder y modificar el archivo), y de ninguna manera lee el archivo para mostrar en la página que desea.

Lo primero que debe hacer es capturar la información, la forma más simple de hacerlo sería usar un formulario HTML con un TEXTAREA:

 

En ‘save.php’ (o donde sea), puede ver fácilmente la información enviada desde el formulario:

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

Para crear un archivo, eche un vistazo a los comandos fopen / fwrite en PHP, otro ejemplo simplista:

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

ADVERTENCIA: ¡Esta es una respuesta extremadamente simplista! Quizás desee proteger su formulario y su archivo, o hacer algunas cosas diferentes … Todo lo anterior será escribir EXACTAMENTE lo que se publicó en el formulario a un archivo. Si desea especificar diferentes nombres de archivo, sobrescribir, anexar, verificar el contenido incorrecto / spam, etc., deberá hacer más trabajo.

Si tienes un editor que es de acceso público y publica contenido en una página web, entonces la protección contra spam es un requisito DEFINITIVO o te arrepentirás.

Si no estás interesado en aprender PHP, ¡deberías pensar en conseguir un desarrollador profesional que se encargue de todo trabajo de encoding para ti!

Tenía una necesidad similar, así que creamos una solución amigable para el cliente llamada stringmanager.com que usamos en todos nuestros proyectos y lugares donde CMS no es efectivo.

Desde su lado, solo necesita etiquetar una cadena en el código, es decir, desde:

echo “Texto que quiere editar”; a:

echo _t (“S_Texthewantstoedit”);

stringmanager.com se ocupa del rest. Su cliente puede administrar ese área de texto en particular en nuestra aplicación en línea y sincronizar donde quiera. Casi olvidé mencionar que es completamente gratis.

 < ?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"]); }; ?> 

No he tenido tiempo de terminarlo, lo más simple posible, agregará más si lo desea.