Simple editor PHP de archivos de texto.
backend html-editor (7)
¿En qué hiciste Google? php write file me da unos cuantos millones de hits.
Como en el manual para 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!
?>
Pero para ser honesto, primero debes recoger un libro de PHP y comenzar a intentarlo. No ha publicado ningún requisito único, aparte de eso, desea publicar un campo de texto (¿Área de texto, me refiero?) A un archivo TXT. Esto lo hara:
<?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
}
Tenga en cuenta que esto coincide exactamente con su descripción. No lee el archivo cuando imprime el formulario (por lo tanto, cada vez que desea editar el texto, debe comenzar desde cero), no comprueba la entrada para 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 mostrarlo en la página que desea.
He desarrollado un sitio para un cliente y él quiere poder editar una pequeña parte de la página principal en un tipo de solución backend. 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.
Presumiría 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 indique la dirección correcta. Tenga en cuenta que no tengo experiencia en programación PHP, solo HTML y javascript básico, así que sea cuidadoso en cualquier respuesta que proporcione.
Básicamente estás buscando un concepto similar al de una forma de contacto o similar.
Aplique los mismos principios de un tutorial como este y, en lugar de enviar mail
electrónicos con el mail
consulte las funciones de archivo de PHP.net.
Lo primero que debe hacer es capturar la información, la forma más sencilla de hacerlo sería mediante el uso de un formulario HTML con un TEXTAREA:
<form method=''post'' action=''save.php''>
<textarea name=''myTextArea''></textarea>
<button type=''submit''>Go</button>
</form>
En ''save.php'' (o donde sea) puede ver fácilmente la información enviada desde el formulario:
<?php
echo $_POST[''myTextArea'']
?>
Para crear realmente 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! Tal vez quiera proteger su formulario y su archivo, o hacer algunas cosas diferentes ... Todo lo anterior hará que escriba EXACTAMENTE lo que se publicó en el formulario en un archivo. Si desea especificar diferentes nombres de archivo, sobrescribir, adjuntar, comprobar si hay contenido incorrecto / spam, etc., entonces tendrá que trabajar más.
Si tiene un editor al que se puede acceder públicamente y publica contenido en una página web, entonces la protección contra spam es un requisito DEFINIDO o ¡lo lamentará!
Si no está interesado en aprender PHP, ¡debería pensar en conseguir un desarrollador profesional que se encargue de cualquier trabajo de codificación para usted!
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);
}
?>
<form action="" method="post">
<?php
$content = file_get_contents($file);
echo "<textarea name=''html''>" . htmlspecialchars($content) . "</textarea>";
?>
<input type="submit" value="Edit page" />
</form>
Se 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 redirigir al formulario para evitar advertencias F5 / Actualizar):
<?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>
Tenía una necesidad similar, así que creamos una solución amigable para el cliente llamada stringmanager.com que utilizamos en todos nuestros proyectos y lugares donde el CMS no es efectivo.
Por su parte, solo necesita etiquetar la cadena en el código, es decir, desde:
echo "Texto que quiere editar"; a:
echo _t ("S_Texthewantstoedit");
stringmanager.com se encarga del resto. Su cliente puede administrar ese área de texto en particular en nuestra aplicación en línea y sincronizar donde quiera. Casi se me olvida mencionar, 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"]);
};
?>
<form action="" method="post">
<textarea id="test" name="test" style="width:100%; height:50%;"><? echo "$test"; ?></textarea>
<input type="submit" value="submit">
</form>
No he tenido tiempo de terminarlo, lo más simple posible, agregará más si lo desea.