elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  editar línea de archivo txt desde php
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: editar línea de archivo txt desde php  (Leído 27,401 veces)
usuario oculto


Desconectado Desconectado

Mensajes: 450



Ver Perfil WWW
editar línea de archivo txt desde php
« en: 25 Julio 2011, 01:49 am »

 Lo que quiero hacer es por ejemplo cambiar la linea de un archivo txt desde un php

Archivo .txt

Código
  1.   q34q34rq34q
  2.  234342
  3.  werwe
  4.  werwr
  5.  

desde un php cambiar línea 3, por "lol" y quedaría...

Código
  1.  r q34q34rq34q
  2.  234342
  3.  lol
  4.  werwr
  5.  

llevo 2 días buscando en google y lo máximo que conseguí fue añadir contenido en la primera linea:s
 Alguien sabe como se hace?

  

 graciasss


« Última modificación: 25 Julio 2011, 01:55 am por mansan[a] » En línea

Que le jodan a  la salud mental!
Fecha de registro:    16 Noviembre 2008, 17:38
años atrás users baneados :)
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #1 en: 25 Julio 2011, 02:06 am »

cárgalo con fopen a un textarea y después de editarlo vuelve a guardarlo reemplazando el contenido del archivo por el del textarea :P perdona que no te escriba un código pero no ando con mucho tiempo :xD


En línea

Ojo por ojo, y el mundo acabará ciego.
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #2 en: 25 Julio 2011, 02:09 am »

Yo hago es hacer un explode para separar las lineas, entonces escribo las lineas anteriores, la linea nueva y las demas lineas :P

Con un foreach despues del explode y un IF se puede :D
En línea

usuario oculto


Desconectado Desconectado

Mensajes: 450



Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #3 en: 25 Julio 2011, 02:11 am »

@nakp
pero no quiero hacer un editor del archivo entero que muestre el archivo, solo de la línea

En línea

Que le jodan a  la salud mental!
Fecha de registro:    16 Noviembre 2008, 17:38
años atrás users baneados :)
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #4 en: 25 Julio 2011, 02:16 am »

Código
  1. $handle = fopen("file.txt", "r");
  2. $txt = LeerArchivo($handle); // cargas el archivo a una variable, no te dejo el code. hazlo como ejercicio xD
  3. fclose($handle);
  4.  
  5. $txt = explode(_SLN, $txt); // _SLN = "\r\n"
  6. $pre = ""; $post = "";
  7. foreach ($txt as $dir) {
  8.     // De alguna forma identificas la linea 8-)
  9.     if(....) {
  10. if (!$exists)
  11. $pre .= $dir._SLN;
  12. else
  13. $post .= $dir._SLN;
  14. } else
  15. $exists = true;
  16. }
  17. }
  18. if ($exists)
  19. $handle = fopen("file.txt", "w");
  20. fwrite($handle, $pre);
  21. fwrite($handle, "Linea Actualizada");
  22. fwrite($handle, $post);
  23. fclose($handle);
  24. } else
  25. dai("No hay cambios");
  26.  

Algo asi :P
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #5 en: 25 Julio 2011, 02:16 am »

Código
  1. <?php
  2. // Abrir el archivo
  3. $archivo = 'temp.txt';
  4. $abrir = fopen($archivo,'r+');
  5. $contenido = fread($abrir,filesize($archivo));
  6. fclose($abrir);
  7.  
  8. // Separar linea por linea
  9. $contenido = explode("\n",$contenido);
  10.  
  11. // Modificar linea deseada ( 2 )
  12. $contenido[2] = 'jajaja little monkey';
  13.  
  14. // Unir archivo
  15. $contenido = implode("\r\n",$contenido);
  16.  
  17. // Guardar Archivo
  18. $abrir = fopen($archivo,'w');
  19. fwrite($abrir,$contenido);
  20. fclose($abrir);
  21.  
  22. ?>

Archivo antes:

Código:
qwe
rty
uio
pas

Archivo despues:

Código:
qwe
rty
jajaja little monkey
pas

Obviamente, es 100 veces mejorable.. pero sirve para hacerse la idea no ? xD



Saludos
« Última modificación: 25 Julio 2011, 02:19 am por drvy | BSM » En línea

usuario oculto


Desconectado Desconectado

Mensajes: 450



Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #6 en: 25 Julio 2011, 02:30 am »

Código
  1. <?php
  2. // Abrir el archivo
  3. $archivo = 'temp.txt';
  4. $abrir = fopen($archivo,'r+');
  5. $contenido = fread($abrir,filesize($archivo));
  6. fclose($abrir);
  7.  
  8. // Separar linea por linea
  9. $contenido = explode("\n",$contenido);
  10.  
  11. // Modificar linea deseada ( 2 )
  12. $contenido[2] = 'jajaja little monkey';
  13.  
  14. // Unir archivo
  15. $contenido = implode("\r\n",$contenido);
  16.  
  17. // Guardar Archivo
  18. $abrir = fopen($archivo,'w');
  19. fwrite($abrir,$contenido);
  20. fclose($abrir);
  21.  
  22. ?>

Archivo antes:

Código:
qwe
rty
uio
pas

Archivo despues:

Código:
qwe
rty
jajaja little monkey
pas

Obviamente, es 100 veces mejorable.. pero sirve para hacerse la idea no ? xD



Saludos

¿por qué modifica la 3 y no la 2 como se indica?
pero ya tengo algo que se acerca mas :P
« Última modificación: 25 Julio 2011, 02:32 am por mansan[a] » En línea

Que le jodan a  la salud mental!
Fecha de registro:    16 Noviembre 2008, 17:38
años atrás users baneados :)
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #7 en: 25 Julio 2011, 02:31 am »

Por que la array de php incluye también el 0  :P



Saludos
En línea

usuario oculto


Desconectado Desconectado

Mensajes: 450



Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #8 en: 25 Julio 2011, 02:35 am »

Por que la array de php incluye también el 0  :P



Saludos

entonces creo que ya tengo lo que necesitaba, muchas gracias a todos, no sabía que me ayudarían tan rápido :D
mucho nivel en este foro
« Última modificación: 25 Julio 2011, 02:39 am por mansan[a] » En línea

Que le jodan a  la salud mental!
Fecha de registro:    16 Noviembre 2008, 17:38
años atrás users baneados :)
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: editar línea de archivo txt desde php
« Respuesta #9 en: 25 Julio 2011, 07:38 am »

No siempre funciona un \n\r porque no todos los textos están diseñados en windows, algunos ni si quiera usan \n, por eso yo uso nl2br() y después le hago explode al '<br />'
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
leer archivo de texto linea a linea
Programación Visual Basic
SheKeL_C$ 2 4,056 Último mensaje 18 Febrero 2006, 17:08 pm
por SheKeL_C$
Editar la variable de un archivo desde otro « 1 2 »
PHP
Servia 11 6,055 Último mensaje 12 Marzo 2009, 04:15 am
por [u]nsigned
zipear un archivo desde línea de comandos ¿Alguie sabe como?
Scripting
gorgon12 6 8,052 Último mensaje 30 Septiembre 2009, 18:04 pm
por gorgon12
Consulta~Editar archivo de texto en una linea especifica.
PHP
volteo0101 3 6,664 Último mensaje 9 Febrero 2011, 07:19 am
por volteo0101
[BATCH] Editar porcion de linea de archivo de texto
Scripting
WalterPerez 2 4,738 Último mensaje 25 Septiembre 2011, 05:39 am
por WHK
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines