Foros del Web » Programando para Internet » PHP »

X lineas Iguales

Estas en el tema de X lineas Iguales en el foro de PHP en Foros del Web. Hola, yo tengo un archivo txt, y quisiera hacer en un php que si dentro de ese archivo txt por ejemplo 15 lineas son iguales ...
  #1 (permalink)  
Antiguo 14/01/2010, 15:15
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
X lineas Iguales

Hola,

yo tengo un archivo txt,

y quisiera hacer en un php que si dentro de ese archivo txt por ejemplo 15 lineas son iguales esa linea la escriba en otro txt


por ejemplo dentro de archivo.txt:

Código:
a
a
a
a
a
a
a
a
a
a
a
a
a
a
entonces que en archivo2.txt guarde:

Código:
a
pero solo la guarde porque hubieron 15 repetidas.

¿Saben como hacer?
Gracias
  #2 (permalink)  
Antiguo 14/01/2010, 15:34
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 11 meses
Puntos: 11
Respuesta: X lineas Iguales

Estoy muy seguro de que aqui muchos lo saben hacer, pero la idea no es que te hagan el trabajo, sino que aprendas investigando e intentes por tu cuenta; si te estancas en algo que no puedas resolver pero con codigo ya avanzado, ahi es más factible solicitar ayuda y que te la brinden. Suerte
  #3 (permalink)  
Antiguo 14/01/2010, 15:37
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: X lineas Iguales

Cita:
Iniciado por JoseTejada Ver Mensaje
Estoy muy seguro de que aqui muchos lo saben hacer, pero la idea no es que te hagan el trabajo, sino que aprendas investigando e intentes por tu cuenta; si te estancas en algo que no puedas resolver pero con codigo ya avanzado, ahi es más factible solicitar ayuda y que te la brinden. Suerte
Eh buscado y no encuentro, lo que necesito es que me expliquen como hacerlo. y si vos no queres utilizar este foro como un soporte, lamentablemente no sirve de nada porque tu no eres el dueño de este foro.

Si a vos esto te parece tan facil te felicito, pero a mi no y en mi caso esto que estoy pidiendo es codigo avanzado.
  #4 (permalink)  
Antiguo 14/01/2010, 15:40
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: X lineas Iguales

Busque en google en 2 minutos....... primero como leer un TXT:
http://megeekanos.com/desarrollo-web...xt-usando-php/

Una vez sepas leer el archivo por lineas, te aconsejo usar una variable tipo array, que vaya guardando cada linea si es que no la contiene aun. Aqui aprendes sobre arrays:
http://www.ignside.net/man/php/arrays.php

Y por ultimo dicho array lo grabas en un nuevo txt:
http://www.abnertrujillo.com/blog/?p=219


Espero que te sirva para ir empezando con algo, saludos
  #5 (permalink)  
Antiguo 14/01/2010, 16:25
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: X lineas Iguales

Cita:
Iniciado por Vun Ver Mensaje
Busque en google en 2 minutos....... primero como leer un TXT:
[url]http://megeekanos.com/desarrollo-web/como-leer-un-txt-usando-php/[/url]

Una vez sepas leer el archivo por lineas, te aconsejo usar una variable tipo array, que vaya guardando cada linea si es que no la contiene aun. Aqui aprendes sobre arrays:
[url]http://www.ignside.net/man/php/arrays.php[/url]

Y por ultimo dicho array lo grabas en un nuevo txt:
[url]http://www.abnertrujillo.com/blog/?p=219[/url]


Espero que te sirva para ir empezando con algo, saludos
Gracias, pero no entiendo, lo de leer y guardar entendi de 10...

pero ahora no se como obtener la linea repetida 15 veces:

Código:
$archivo = file("Archivo.txt");
$lineas = count($archivo);
for($i=0; $i < $lineas; $i++){
$var = $archivo[$i];
if($archivo[$i]>$var){$mayor= $archivo[$i];}
else {$mayor = $var;}

echo $mayor;
}
hice eso con lo que fui juntando y nada :( me podria decir en que le estoy fallando?
  #6 (permalink)  
Antiguo 15/01/2010, 00:17
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: X lineas Iguales

Bueno como puedes ver en el codigo que pusiste, en el array $archivo, tienes las lineas tal que

$archivo[0] ..... la primera linea
$archivo[1] ..... la segunda linea
$archivo[2]
$archivo[3]


Lo que podrias hacer es ir creando un segundo array, (por ejemplo $archivofinal), donde le iriamos añadiendo cada linea de $archivo en el caso de que $archivofinal no la contenga.

Hay una funcion in_array() que te devuelve si existe o no.

Intenta hacerlo tu, empieza un indice (por ejemplo $indice) con valor a 0, y cuando hagas la comprobacion dentro del bucle for añadimos la linea y aumentamos el indice.

Código PHP:
if (in_array($archivo[$i],$archivofinal)) {
   
$archivofinal[$indice]=$archivo[$i];$indice++;

Me gusta no solo resolver problemas, sino tambien enseñar lo que se esta programando, asi que intentalo tu y dime que tal va
  #7 (permalink)  
Antiguo 15/01/2010, 02:11
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: X lineas Iguales

Perdon que sea tan duro xD...
Pero no entiendo mucho los arrays y eso.

yo se que si abro un file:
Código:
$archivo = file("Archivo.txt");
y luego a la variable $archivo le agrego:

$archivo[1]
$archivo[2]
$archivo[3]

y asi me muestra las lineas, como me lo dijistes vos.

Ahora la parte que no entiendo es como saber cuando se repiten 15 veces la misma linea, y con eso del arrays no entiendo como puedo llegar a hacerlo leo leo miro miro y nada...

Habia pensado hacer un if...

poniendo:
if($archivo[1]==$archivo[2] && $archivo[1]==$archivo[3] &&....

asi pero el problema que ahi me esta verificando la primera linea con las demas, osea si la primera linea es diferente a las otras pero las otras son todas iguales, no sirve
  #8 (permalink)  
Antiguo 15/01/2010, 08:29
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: X lineas Iguales

La funcion in_array() hace eso, fijate que tiene 2 parametros, el primero es digamos el texto de una linea, y el segundo es el array donde lo va a buscar. De modo que esto:

if (in_array($archivo[$i],$archivofinal)) {

Es como si dijeramos "Si el contenido de $archivo[$i] se encuentra en cualquier parte de $archivofinal......."
  #9 (permalink)  
Antiguo 15/01/2010, 12:24
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: X lineas Iguales

Cita:
Iniciado por Vun Ver Mensaje
La funcion in_array() hace eso, fijate que tiene 2 parametros, el primero es digamos el texto de una linea, y el segundo es el array donde lo va a buscar. De modo que esto:

if (in_array($archivo[$i],$archivofinal)) {

Es como si dijeramos "Si el contenido de $archivo[$i] se encuentra en cualquier parte de $archivofinal......."
Claro, pero ahi estaria igualando uno solo es decir...

si una linea: $archivo[$i] existe en $archivofinal, me daria true ¿no? pero yo necesito que me devuelva true cuando existe en 15 lineas...

osea cuando son 15 lineas iguales, al parecer el in_array no hace eso.
  #10 (permalink)  
Antiguo 15/01/2010, 12:51
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: X lineas Iguales

Es que eso va dentro del bucle for.... va a ir mirando $archivo[0] , luego $archivo[1]... etc
  #11 (permalink)  
Antiguo 15/01/2010, 13:10
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 21
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: X lineas Iguales

Cita:
Iniciado por Vun Ver Mensaje
Es que eso va dentro del bucle for.... va a ir mirando $archivo[0] , luego $archivo[1]... etc
Claro, pero no entiendo la parte en que le digo que si 15 lineas son iguales
  #12 (permalink)  
Antiguo 15/01/2010, 13:52
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: X lineas Iguales

"Lo que podrias hacer es ir creando un segundo array, (por ejemplo $archivofinal), donde le iriamos añadiendo cada linea de $archivo en el caso de que $archivofinal no la contenga."

Esta es la idea que te puse, ir mirando linea por linea $archivo e ir añadiendo las lineas que aun no se encuentren en $archivofinal

Etiquetas: iguales, lineas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:10.