Foros del Web » Programando para Internet » PHP »

modificar un archivo de texto

Estas en el tema de modificar un archivo de texto en el foro de PHP en Foros del Web. amigos de foro: Tengo el siguiente problema, resulta que necesito modificar un archivo de texto que tiene el siguiente contenido; Cita: contenido_1 contenido_2 contenido_3 y ...
  #1 (permalink)  
Antiguo 23/11/2005, 16:46
 
Fecha de Ingreso: noviembre-2005
Mensajes: 70
Antigüedad: 18 años, 5 meses
Puntos: 1
modificar un archivo de texto

amigos de foro:
Tengo el siguiente problema, resulta que necesito modificar un archivo de texto que tiene el siguiente contenido;

Cita:
contenido_1
contenido_2
contenido_3
y debo modificarlo de la siguiente manera;

Cita:
<option>contenido_1</option>
<option>contenido_2</option>
<option>contenido_3</option>
el codigo que mostrare a continuacion si bien es cierto mezcla las etiquetas html con el contenido del del archivo de texto, pero no lo hace como expuse anteriormente
Cita:
$nombre_archivo = "./carpeta/documento.txt";
$fp = fopen($nombre_archivo,"r+");
while(!feof($fp)) {
$linea=fgets($fp,10);
$Encapsulacion = "<option>".$linea."<option>";
fwrite($fp,$Encapsulacion);
}
fclose($fp);
si alguien sabe como puedo solucionar mi problema ojala pudiera ayudarme
  #2 (permalink)  
Antiguo 24/11/2005, 05:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Dado la estructura de tu archivo de texto plano . .con la función file() simplificas mucho el proceso:

Código PHP:
<?
// Lees tu archivo, generas tu nuevo contenido:
$nuevas_lineas "";
$lineas=file("tus_datos.txt");
foreach (
$lineas as $linea){
$nuevas_lineas .= "<option value=\"$linea\">$linea</option>\n"// genero acomulado (.=) cada nueva linea (separada por su salto de línea \n o \n\r según S.O.)
}

// generas el archivo:
$fp=fopen("tus_datos.txt","w"); // sobre-escribo completamente el archivo.
fwrite($fp,$nuevas_lineas);
fclose($fp);

?>


Un saludo,

Última edición por Cluster; 24/11/2005 a las 05:29
  #3 (permalink)  
Antiguo 24/11/2005, 15:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 70
Antigüedad: 18 años, 5 meses
Puntos: 1
Muchas gracias cluster, al codigo que me eviaste le agrege la siguiente funcion y puedo decir que me funciona de pelicula:
Cita:
rtrim()
Resulta que la funcion file() Lee un archivo entero hacia una matriz y cada elemento de la matriz corresponde a una línea en el archivo, con el salto de línea aun incluido. Para eliminar ese salto de linea existe la funcion rtrim(), sin esta funcion pasaba lo siguiente :

Cita:
<option>contenido 1
<\option>
<option>contenido 2
<\option>
<option>contenido 3
<\option>
y con la funcion rtrim()

pasa lo siguiente:
Cita:
<option>contenido 1<\option>
<option>contenido 2<\option>
<option>contenido 3<\option>
por lo tanto al exelente codigo de nuestro amigo cluster le agregamos la funcion ya mencionada y el codigo final sera el siguinete:

Cita:
// Lees tu archivo, generas tu nuevo contenido:
$nuevas_lineas = "";
$lineas=file("./carpeta/prueba7.txt");
foreach ($lineas as $linea){
$nuevas_lineas .= "<option>".rtrim($linea)."</option>\n"; // genero acomulado (.=) cada nueva linea (separada por su salto de línea \n o \n\r según S.O.)
}

// generas el archivo:
$fp=fopen("./carpeta/prueba7.txt","w"); // sobre-escribo completamente el archivo.
fwrite($fp,$nuevas_lineas);
fclose($fp);

echo "<br><a href="."./carpeta/prueba7.txt".">"." ver"."</a>";

?>
muchas gracias.
  #4 (permalink)  
Antiguo 25/11/2005, 04:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok, gracias por el "tip".

Un saludo,
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 21:25.