Foros del Web » Programando para Internet » PHP »

Error al editar .txt externo

Estas en el tema de Error al editar .txt externo en el foro de PHP en Foros del Web. Código PHP: <?php $filename  =  'index2.txt' ; $somecontent  =  "$HTTP_GET_VARS[valor]" ; if ( is_writable ( $filename )) { if (! $handle  =  fopen ( $filename ,  'a' )) { ...
  #1 (permalink)  
Antiguo 10/09/2011, 12:13
Avatar de diego9j  
Fecha de Ingreso: septiembre-2011
Mensajes: 33
Antigüedad: 12 años, 7 meses
Puntos: 2
Pregunta Error al editar .txt externo

Código PHP:
<?php
$filename 
'index2.txt';
$somecontent "$HTTP_GET_VARS[valor]";

if (
is_writable($filename)) {

if (!
$handle fopen($filename'a')) {
echo 
"no se puede abrir el archivo ($filename)";
exit;
}

if (
fwrite($handle$somecontent) === FALSE) {
echo 
"no se puede escribir en el archivo ($filename)";
exit;
}

echo 
"se escribi&oacute; el contenido en el archivo ($filename)";

fclose($handle);

} else {
echo 
"el archivo $filename no es writable";
}
?>
Código HTML:
<form method="get" action="insertar3.php"><textarea name="valor" rows="20" cols="70"><? include("index2.txt") ?></textarea><br /><input type="submit" value="enviar"></form> 
Posiblemente tenga muchos errores pero esque soy un inicado en este campo y ya desespere en intentar solucionarlo. Aunque tengo conocimientos bastante avanzados de javascript, css3 y html el php se me esta haciendo muy complicado.
El error es que quiero crear un formulario con el que pueda editar un .txt externo y en vez de editarmelo, me lo concatena al final y sustituyendo las ' por /
como solucionar esto? espero que me puedan ayudar ^^

PD- se que el temita de los .txt y los nuevos que vienen a preguntar esta muy tocado, pero me he pasado todo el dia googleando y no he encontrado solucion.
  #2 (permalink)  
Antiguo 10/09/2011, 13:13
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Error al editar .txt externo

Si revisas los parámetros de fopen, verás que el usar 'a' es para agregar información al archivo. Si quieres reescribir el contenido, ábrelo con 'w'.

Respecto a que sustituya los caracteres, habría que ver cómo estás recibiendo la información, que por cierto, deberías revisar el $HTTP_GET_VARS, ya que es obsoleto y ahora sera $_GET
  #3 (permalink)  
Antiguo 10/09/2011, 13:58
Avatar de diego9j  
Fecha de Ingreso: septiembre-2011
Mensajes: 33
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Error al editar .txt externo

he cambiado todo lo que me has dicho y hay tres cosas de las que me he dado cuenta
- lo de w ha funcionado, ahora me lo ha sustituido
- lo de get en ves de http get vars no ha hecho nada, pero prefiero no poner etiquetas obsoletas
-no me lo sustituye, resulta que si el origen era asi
Código HTML:
<h2 class='myriad2'> 
pasa a ser
Código HTML:
<h2 class=\'myriad2\'> 
probare a intercambiar las comillas simples y las dobles en los dos codigos. si pongo las mismas, obviamente dara error. gracias por la respuesta ^^
  #4 (permalink)  
Antiguo 10/09/2011, 14:14
Avatar de diego9j  
Fecha de Ingreso: septiembre-2011
Mensajes: 33
Antigüedad: 12 años, 7 meses
Puntos: 2
Respuesta: Error al editar .txt externo

no hace nada. si cambio simples por dobles da error y al editar me sigue poniendo las barras, asi que mi metodo poco ha hecho
  #5 (permalink)  
Antiguo 11/09/2011, 03:49
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Error al editar .txt externo

He hecho unas modificaciones y a mi me funciona.

Código PHP:
Ver original
  1. if (is_writable($filename = './index2.txt')) {
  2.  
  3.         if (!$archivo = fopen($filename, 'a')) {
  4.             echo "no se puede abrir el archivo ($filename)";
  5.             //exit;
  6.         }
  7.  
  8.         if (fwrite($archivo, $_GET['valor'] . "\r\n")) {
  9.        
  10.             echo "se escribi&oacute; el contenido en el archivo ($filename)";
  11.            
  12.             //exit;
  13.         } else {
  14.        
  15.             echo "no se puede escribir en el archivo ($filename)";
  16.        
  17.         }
  18.  
  19.         fclose($archivo);
  20.  
  21.     } else {
  22.    
  23.         echo "el archivo $filename no se puede escribir";
  24.    
  25.     }

Etiquetas: externo, html, txt, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:13.