Foros del Web » Programando para Internet » PHP »

Modificar un archivo por lineas en php

Estas en el tema de Modificar un archivo por lineas en php en el foro de PHP en Foros del Web. Bueno, lo que quiero hacer es que un archivo php llamese edita.php edite el archivo editado.php en la linea 5, 8, 15 y 27 o ...
  #1 (permalink)  
Antiguo 13/08/2010, 09:28
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Modificar un archivo por lineas en php

Bueno, lo que quiero hacer es que un archivo php llamese edita.php edite el archivo editado.php en la linea 5, 8, 15 y 27 o preferiblemente modificar el mismo codigo es decir: el archivo es el siguiente: (los numeros no son la linea, son codigo)
editado.php
Código PHP:
      1 => "biberon",
      
=> "camisa",
      
=> "reloj",
      
=> "zapato"
pero yo quiero que edita.php agregue 3 cosas al codigo debajo de biberon, debajo de camisa y debajo de reloj, en otras palabras que quede asi:(repito el numero es un codigo porloque no importa el orden!)
Código PHP:
      1 => "biberon",
      
=> "telefono",
      
=> "camisa",
      
10 => "pendiente",
      
=> "reloj",
      
11 => "gorra",
      
=> "zapato"
No se si me explique bien, espero su respuesta y gracias de antemano
  #2 (permalink)  
Antiguo 13/08/2010, 09:34
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por mafolongo
No se si me explique bien,
yo porlomenos no entendí nada :P
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 13/08/2010, 09:34
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Modificar un archivo por lineas en php

busca en el manual de php, hay suficientes funciones para manipular cadenas, cortarlas, etc. simplemente tienes que guiarte por la propia sintaxis de tu archivo, en cuanto a las lineas, generalmente se componen de los caracteres 10 y 13, es decir /n/r
  #4 (permalink)  
Antiguo 13/08/2010, 09:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Modificar un archivo por lineas en php

te invito a leer lo siguiente:
http://www.forosdelweb.com/f18/aport...-texto-593101/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 13/08/2010, 09:36
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por maycolalvarez Ver Mensaje
busca en el manual de php, hay suficientes funciones para manipular cadenas, cortarlas, etc. simplemente tienes que guiarte por la propia sintaxis de tu archivo, en cuanto a las lineas, generalmente se componen de los caracteres 10 y 13, es decir /n/r
Disculpa, me puedes dar un ejemplo porfavor ??.
A los demas gracias por su pronta respuesta!!, pateketrueke estoy leyendo el tema que me mandasdastes
  #6 (permalink)  
Antiguo 13/08/2010, 09:39
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Modificar un archivo por lineas en php

bueno primero deves abrir el archivo
luego leerlo linea a linea colocando todo en un array que te da los numeros de linea:

Código PHP:
$F=fopen('tuarchivo.php','r');
while (!
feof($F)) {
$arreglo[]=fgets($F,4096);
}
fclose($F); 

despues agregar o quitar lo que quieras ("usa la logica"):

borras el archivo

y escrives de nuevo el archivo

Código PHP:
$escibe fopen($nombre_archivo,'a');
            
fwrite($escibe,$todas_lineas);
            
fclose($escibe); 
y listo.
  #7 (permalink)  
Antiguo 13/08/2010, 09:41
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por enlinea777 Ver Mensaje
bueno primero deves [URL="http://enlinea.webhop.net/guia/function.fopen.html"]abrir[/URL] el archivo
luego leerlo linea a linea colocando todo en un array que te da los numeros de linea:

Código PHP:
$F=fopen('tuarchivo.php','r');
while (!
feof($F)) {
$arreglo[]=fgets($F,4096);
}
fclose($F); 

despues agregar o quitar lo que quieras ("usa la logica"):

[URL="http://enlinea.webhop.net/guia/function.unlink.html"]borras el archivo[/URL]

y escrives de nuevo el archivo

Código PHP:
$escibe fopen($nombre_archivo,'a');
            
fwrite($escibe,$todas_lineas);
            
fclose($escibe); 
y listo.
Se me havia ocurrido pero mi intencion es que sea un "formulario" para que el usuario coloque el nombre del objeto y un valor y que eso se agregue al codigo no se si me explico bien ?..., porloque no puedo contar siempre con la linea anterior, no hay otra manera ?
  #8 (permalink)  
Antiguo 13/08/2010, 09:59
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo por lineas en php

Una ultima pregunta, como hago almenos para que los valores del formulario siempre esten presentes sin tener que hacer el mismo formulario varias veces a traves del proceso de creacion? porque esos valores no los necesito solo en 1 archivo lo necesito en 5, se que soy novato pero si me ayudas te lo agradeceria mucho :D
  #9 (permalink)  
Antiguo 13/08/2010, 10:04
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por mafolongo Ver Mensaje
Una ultima pregunta, como hago almenos para que los valores del formulario siempre esten presentes sin tener que hacer el mismo formulario varias veces a traves del proceso de creacion? porque esos valores no los necesito solo en 1 archivo lo necesito en 5, se que soy novato pero si me ayudas te lo agradeceria mucho :D
primero deverias empesar por aprender a explicarte bien, porque creo que nadie te a entendido la pregunta corectamente.

y mi respuesta fue a la pregunta ¿ Modificar un archivo por lineas en php ?.
  #10 (permalink)  
Antiguo 13/08/2010, 10:09
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo por lineas en php

Vale disculpa realmente :S no supe expresarme bien permiteme decirlo ahora bien
son 5 archivos que necesito modificar, necesito agregar los mismos valores a los 5 archivos y que los valores sean extraidos de 1 formulario se me ocurrio hacer un config.php y que hay se agregaran los datos para que al editarlos solo hago referencia a ese archivo pero no se si haya otra forma y tambien quisiera saber si puedo poner varios

Código PHP:
$F=fopen('tuarchivo.php','r');
while (!
feof($F)) {
$arreglo[]=fgets($F,4096);
}
fclose($F); 
en un mismo archivo, espero tu respuesta y disculpa por no poder expresarme mejor.
  #11 (permalink)  
Antiguo 13/08/2010, 10:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Modificar un archivo por lineas en php

mafolongo, la verdad es complicado ayudarte si no tienes nociones básicas del lenguaje...

y es verdad, cualquiera con nociones mínimas podría darse una idea... mas tu no!

¿que hace falta entonces?
R: te lo dejo de tarea...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 13/08/2010, 10:35
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Modificar un archivo por lineas en php

Yo sigo sin entender que quieres hacer, solo entiendo que quieres escribir algo en cinco ficheros, lo mismo en cada uno, pero no entiendo lo del formulario, lo de editar una linea, etc...
  #13 (permalink)  
Antiguo 13/08/2010, 10:43
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por pateketrueke Ver Mensaje
mafolongo, la verdad es complicado ayudarte si no tienes nociones básicas del lenguaje...

y es verdad, cualquiera con nociones mínimas podría darse una idea... mas tu no!

¿que hace falta entonces?
R: te lo dejo de tarea...
yo tengo un amigo como mafolongo que no explica bien las cosas jajajaja porque piensa que uno puede leer la mente.

es mejor una pregunta bien explicada.

ejemplo;

1 que es lo que estas haciendo.
2 porque 5 ficheros iguales (lee sobre los "include")
3 para guardar los cambios siempre se usan tablas en la base de datos
no es muy conveniente un config.php cuando no se tienen nosiones de seguridad web.

se mas espesifico.
  #14 (permalink)  
Antiguo 13/08/2010, 11:07
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Modificar un archivo por lineas en php

Hola. Como bien te dicen, ¿Podrías ser más concreto en tu duda?
Sobre todo en la parte del formulario.

Creo entender que quieres que el usuario pueda añadir una línea en un campo te texto de un formulario, enviarlo y añadir esa línea al archivo asi:

3 => "sombrero",

¿Es algo así?

Última edición por GatorV; 15/08/2010 a las 15:10
  #15 (permalink)  
Antiguo 13/08/2010, 11:08
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Modificar un archivo por lineas en php

Pero si no es tan difícil lo que pretende... solo quiere ingresar un valor pasado por un formulario a 5 archivos distintos. .
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
  #16 (permalink)  
Antiguo 13/08/2010, 12:00
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por IEKK Ver Mensaje
Hola. Como bien te dicen, ¿Podrías ser más concreto en tu duda?
Sobre todo en la parte del formulario.

Creo entender que quieres que el usuario pueda añadir una línea en un campo te texto de un formulario, enviarlo y añadir esa línea al archivo asi:

3 => "sombrero",

¿Es algo así?
Si eso mismo :D y gracias

Última edición por GatorV; 15/08/2010 a las 15:10
  #17 (permalink)  
Antiguo 13/08/2010, 13:47
 
Fecha de Ingreso: septiembre-2009
Mensajes: 68
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Modificar un archivo por lineas en php

Creo que he entendido porque quieres hacer esto. Utilizas combos que cogen los valores de arreglos a lo largo de varios archivos php (5 en concreto) y lo que quieres hacer es que los usuarios puedan introducir mas items en dichos combos.

¿Es eso?
  #18 (permalink)  
Antiguo 13/08/2010, 14:37
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Modificar un archivo por lineas en php

Si estás empezando con PHP te recomiendo busques información sobre cada cosa que no entiendas. Con google no falla, pones php y la función que desas consultar y listo. Por ejemplo: php file()

Es importante que sepas para que sirve cada cosa, así aparte de aprender, te servirá si necesitas cambiarlo. De todas formas comenté lo máximo que pude.

Espero además que sea algo así lo que necesitases.

1º Crea un fichero formulario.php (por ejemplo) y añades este código.

Código PHP:
<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post">
<input name="texto" type="text" />
<input name="enviar" type="submit" value="enviar datos" />
</form>

<?php
if( isset($_POST['enviar']) ) // si se ha enviado desde el formulario
{
    
//Agregamos a un array el nombre de los ficheros donde se va a escribir.
    
$archivos = array('codigo1.php','codigo2.php','codigo3.php','codigo4.php','codigo5.php');
    
    
//por cada archivo leemos su contenido y añadimos la línea del formulario.
    
for($i=0;$i<count($archivos);$i++)
    {
        
$texto=""//inicializamos la variable que contendra el texto que haya en cada archivo.
        
$contenido file($archivos[$i]); //contenido del fichero
        
        
foreach($contenido as $linea//recorremos cada linea y lo concatenamos a una variable
               
$texto.=$linea;
        
        
$texto.= chr(13).chr(10).$_POST['texto']; //ya tenemos el texto que hay en ese fichero y le añadimos un salto de línea más el valor del input
        
        
$fp fopen($archivos[$i],"w") or die('No se pudo abrir el archivo'); //abrimos el fichero en modo escritura

        
if(fwrite($fp$texto)) echo 'Se actualizo el fichero '.$archivos[$i].'<br />'//añadimos al archivo la variable $texto
        
fclose($fp); //cerramos el fichero
    
}
}
?>
Verás que la primera línea del código es el array $archivos. En el mismo directorio que formulario.php crea los mismos archivos o bien modifica el código y cambia la ruta.

Yá sólo escribe lo que quieras en el el input del formulario, clic al botón y se agregará ese valor a cada fichero que hayas puesto en el array.

Un saludo
  #19 (permalink)  
Antiguo 13/08/2010, 15:33
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por albert_23 Ver Mensaje
Creo que he entendido porque quieres hacer esto. Utilizas combos que cogen los valores de arreglos a lo largo de varios archivos php (5 en concreto) y lo que quieres hacer es que los usuarios puedan introducir mas items en dichos combos.

¿Es eso?
Si, su puedes ponerme una solucion te lo agradeceria, estoy leyendo la de IEKK pero 1 mas no me vendria para nada mal :D
  #20 (permalink)  
Antiguo 13/08/2010, 15:48
 
Fecha de Ingreso: septiembre-2009
Mensajes: 68
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Modificar un archivo por lineas en php

Si lo que quieres hacer es que los usuarios puedan introducir items en tus combos, este no es para nada el camino correcto. Deberias hacer lo siguiente:

- Hacer un combo que coja los valores de una base de datos. Ejemplo
- Hacer que el formulario del usuario introduzca el item correspondiente en la base de datos.
  #21 (permalink)  
Antiguo 13/08/2010, 15:55
 
Fecha de Ingreso: agosto-2010
Mensajes: 41
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Modificar un archivo por lineas en php

Cita:
Iniciado por albert_23 Ver Mensaje
Si lo que quieres hacer es que los usuarios puedan introducir items en tus combos, este no es para nada el camino correcto. Deberias hacer lo siguiente:

- Hacer un combo que coja los valores de una base de datos. [URL="http://www.forosdelweb.com/wiki/PHP:%C2%BFC%C3%B3mo_puedo_hacer_para_generar_combo box_din%C3%A1micamente_con_datos_de_una_DB%3F"]Ejemplo[/URL]
- Hacer que el formulario del usuario introduzca el item correspondiente en la base de datos.
Gracias :P y gracias a todos por estar muy atentos :D
  #22 (permalink)  
Antiguo 13/08/2010, 16:00
 
Fecha de Ingreso: septiembre-2009
Mensajes: 68
Antigüedad: 14 años, 7 meses
Puntos: 4
Respuesta: Modificar un archivo por lineas en php

Un placer, y para la proxima intenta ser mas explicito en cuanto al objetivo o nos volvemos todos locos xD

Por cierto, enhorabuena por la imaginacion que le has puesto al tema -_-

Etiquetas: lineas, modificar
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 06:28.