Título: Editar y guardar ficheros [Solucionado] Publicado por: i-Charlie en 6 Octubre 2009, 17:52 pm Hola
Mi idea es hacer un pequeño script en php que me permite elegir entre 3 ficheros del server, leerlos y posteriormente volver a guardarlos. Fichero html para elegir el fichero a editar: Código: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Prueba para mi script</title> </head> <body> <center> <form id="form2" name="form2" method="post" action="index.php"> <label> <select name="opcion" id="opcion"> <option value="menu1">fich1</option> <option value="menu2">fich2</option> <option value="menu3">fich3</option> </select> </label> <br /> <input name="enviar" type="submit" value="enviar" /> </form> </center> </body> </html> Fichero2, recibe la opción anterior con POST y dependiendo del valor elegido carga un fichero u otro y posteriormente (con el submit) llamada a index3.php que es quien se encarga de guardarlo: Código: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Prueba para mi script</title> </head> <body> <form name="area" method="post" action="index3.php"> <textarea name="area1" id="area1" cols="60" rows="20"> <? $variable = $_POST[opcion]; if ($variable == "menu1") $fichero = "archivo.txt"; if ($variable == "menu2") $fichero = "archivo2.txt"; if ($variable == "menu3") $fichero = "archivo3.txt"; $fp = fopen($fichero,"r"); fpassthru($fp); fclose($fp); ?> </textarea><br /> <textarea name="menux" id="menux" cols="10" rows="1"> <? echo $variable; ?> </textarea> <input name="enviar" type="submit" value="enviar" /> </form> </body> </html> Aqui en el index3.php he probado de todo, pero no sale. Lo último fue cargar el valor del menú a editar en otro textarea (que luego ya lo ocultaría con css) pero esto es muy chapuza. He intentado comparar con condiciones if y strcmp ($var1, $var2) pero tampoco tiraba. Código: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Prueba para mi script</title> </head> <body> <? $menu2 = $_POST["menux"]; echo $menu2; switch($menu2){ case ("menu1"): $fp = fopen("archivo.txt","w+"); fwrite($fp,$_POST["area1"]); fclose($fp); break; case ("menu2"): $fp = fopen("archivo2.txt","w+"); fwrite($fp,$_POST["area1"]); fclose($fp); break; case ("menu3"): $fp = fopen("archivo3.txt","w+"); fwrite($fp,$_POST["area1"]); fclose($fp); break; default: echo "tus padres son hermanos, esto dá error"; break; } ?> </body> </html> Alguna ayuda? Sugerencia? Otra forma de plantear mi problema? Gracias de antemano Un saludo! ;-) Título: Re: Editar y guardar ficheros Publicado por: дٳŦ٭ en 6 Octubre 2009, 19:21 pm Tus archivos tienen permisos?
Título: Re: Editar y guardar ficheros Publicado por: WHK en 6 Octubre 2009, 20:12 pm Citar <form id="form2" name="form2" method="post" action="index.php"> Te estás enviando la petición al mismo archivo 1 y se supone que lo deberías enviar hacia el archivo 2 no?además... Código
Decir <? no es lo mismo a decir <?php ya que lo que haces tu es una forma de abreviar el tag de apertura y eso es opcional en una configuración de php desde php.ini y no todos lo soportan por lo tanto ese script puede que se ejecute en algunos servidores webs como puede que no se ejecute y no verás su código... vee el código fuente desde tu explorador del archivo y fijate si te aparece el código fuente del php (si usas firefox de ve de color rosa), si no te aparece entonces todo bién pero te recomiendo que te acostumbres a usar <?php en ves de <? saludos. Título: Re: Editar y guardar ficheros Publicado por: i-Charlie en 6 Octubre 2009, 21:36 pm Gracias por vuestas respuestas.
Tus archivos tienen permisos? Si los tienen. Citar <form id="form2" name="form2" method="post" action="index.php"> Te estás enviando la petición al mismo archivo 1 y se supone que lo deberías enviar hacia el archivo 2 no?Mi servidor lee la etiqueta jeje El caso es que cuando lo hago con un solo menú y en el tercer y último archivo solamente pongo: Código: $fp = fopen("archivo.txt","w+"); Me funciona correctamente. Por tanto mi problema está en que el segundo fichero le tiene que pasar al index3.php que menú está editando y dependiendo de eso index3.php deberá sobreescribir en un fichero o en otro. fwrite($fp,$_POST["area1"]); fclose($fp); Gracias! Título: Re: Editar y guardar ficheros Publicado por: WHK en 7 Octubre 2009, 01:38 am porque no haces un solo php donde le des las tres rutas y abra tres textareas? despues le das en guardar y guarde los tres archivos
Título: Re: Editar y guardar ficheros Publicado por: i-Charlie en 7 Octubre 2009, 07:17 am Si es una posibilidad, de hecho esa me funciona sin problemas pero me resulta una solución poco estética porque ¿qué pasaría si tuviera 10 ficheros? pongo 10 textarea...
Título: Re: Editar y guardar ficheros Publicado por: i-Charlie en 7 Octubre 2009, 23:51 pm index.php: se elige el fichero a editar
index2.php: abre el fichero y llama a index3.php para guardarlo index3.php: compara los valores del input y guarda el fichero correspondiente SOLUCIÓN: index.php: Código
index2.php: Código
index3.php: Código
Es muy fácil añadir o quitarle ficheros y bastante limpio. Gracias por vuestros comentarios/ayudas Un saludo! Título: Re: Editar y guardar ficheros Publicado por: дٳŦ٭ en 8 Octubre 2009, 19:45 pm Gracias por compartir la solución. Saludos
|