Foros del Web » Programando para Internet » PHP »

Esto Sera Imposible!!! con PHP

Estas en el tema de Esto Sera Imposible!!! con PHP en el foro de PHP en Foros del Web. OK.- Amigos tengo esto.. haber si me pueden ayudar.. creo que es un poco complicado... pero bueno e visto cosas aqui mas dificiles.. que los ...
  #1 (permalink)  
Antiguo 13/06/2004, 12:15
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Exclamación Esto Sera Imposible!!! con PHP

OK.- Amigos tengo esto.. haber si me pueden ayudar.. creo que es un poco complicado... pero bueno e visto cosas aqui mas dificiles.. que los masters del php.. an podido...
bien lo siguiente...

tengo una galeria de imagenes en donde al hacer click sobre en una de ellas se habre en po-pup. para mostrar la imagen mas grande en una pagina *.PHP donde contaviliza un numero de visitas en un *.txt de esa imagen dada en un frame php.-

ahora bien.. tengo los numeros de vistas para cada imagen ...ya sea un archivo txt o en varios archivos .. uno para cada uno...

pero la cosa es la siguiente.. yo quiero poner en el index de la pagina. esto:

**** la imagen mas vista *****

e ayi mi problema....
como hacer... si con lo unico que cuento es con los datos introduciodos en un *.txt para cada imagen...

me gustaria que un script PHP tomara el mayor valor del archivo *.txt tomando en cuenta que cada cadena equivale a una imagen...
tomar el mayor valor para hacerle un display en el index.. la verdad no se com hacerlo...... si alguien aqui sabe como rayos hacer .. me podia ayudar....

***---***
bueno como sea la cosa ES BUENO!.. el punto es que se logre este efecto:
**** la imagen mas vista *****
sin usar SQL.-


bueno amigos.. bye y muchas gracias
  #2 (permalink)  
Antiguo 13/06/2004, 12:33
 
Fecha de Ingreso: febrero-2004
Ubicación: Viña del Mar - Chile
Mensajes: 66
Antigüedad: 13 años, 9 meses
Puntos: 0
bueno, aunke ahora no tengo tiempo para mostrarte algun codigo util...

Te doy la garantia de que si se puede, incluso yo (con mi poca experiencia en PHP) se q lo puedo lograr...

No pierdas las esperanzas si, porke demas q uno de estos genios de PHP te pueda ayudar...

__________________
"Si me ven retrocediendo, no es porke me rindo, sino q toi tomando vuelo"
ta bien de moda poner de estos en la firma...
  #3 (permalink)  
Antiguo 13/06/2004, 12:38
 
Fecha de Ingreso: agosto-2003
Mensajes: 223
Antigüedad: 14 años, 3 meses
Puntos: 0
en teoria, se puede!
te podria decir como hacerlo, pero no se de que metodo guarda el script los datos: Si en un txt separando cada imagen por un | o 1 txt con el nombre relacionado con la imagen (por ejemplo por la id) con el contador, etc...

Si nos dices un poco mas incluso te podriamos ayudar.

Saludos!
__________________
Me llaman Tuxiradical... porque tu no?
____________

Hay... maldito internet explorer, el tan contento vino y me mordio.
Gran hijo de su madre.
Menos mal que fui a www.mozilla.org y me descargue la vacuna.
____________
Mis scripts en php www.ethernalsoft.tk
  #4 (permalink)  
Antiguo 13/06/2004, 12:45
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Cita:
Iniciado por auron2003
en teoria, se puede!
te podria decir como hacerlo, pero no se de que metodo guarda el script los datos: Si en un txt separando cada imagen por un | o 1 txt con el nombre relacionado con la imagen (por ejemplo por la id) con el contador, etc...

Si nos dices un poco mas incluso te podriamos ayudar.

Saludos!
RE: de mi (xyyy7)

pongamos que UN TXT PARA CADA UNO. imagen1.txt,... dentro de ese archivo esta el numero de visitas de ea imagen solo un numero entero.
  #5 (permalink)  
Antiguo 13/06/2004, 13:38
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
poner un TXT para cada imagen es muuuuy muuuy ineficiente.

La manera mas sencilla y eficiente es usar una base de datos con los datos de las imágenes, incluyendo un campo para el numero de veces que ha sido vista, y en función de esto simplemente seleccionas la que tenga mas vistas y la pones en el index.

La segunda opción que tomaría en cuenta es usar 1 solo archivo para todas las imágenes, digamos acomodandolas en el TXT asi:

Código:
imagenes/imagen1.jpg | 14
imagenes/imagen2.jpg | 08
datos/dibujo.gif | 12
etc etc... el caso es tener un renglon para cada imágen, y por medio de un "pipe" |
o algún otro caracter que tu decidas, separar el path de la imagen y su numero de visitas. Luego simplemente habría que abrir ese archivo con la función file() que te regresa el archivo en un array en el cual cada renglón es un elemento. Y haces un script para que te busque la que mas visitas tenga.

La última opción, y la que veo poco eficiente, es la que propones tu. En cuyo caso sería muy similar a la anterior, con la diferencia de que tendrías que abrir cada uno de los archivos que generaste para cada imagen, guardar en dos variables el número de visitas y el nombre de la imágen, si en algún momento abres un archivo que tenga mas visitas, reemplazas esas variables por el nuevo número de visitas y el nuevo nombre de imagen.

ahora en caso de un empate, tu ya tienes que decidir si deseas mostrar todas las involucradas en el empate, o bien, elegir aleatoriamente cual aparece.

un saludo
  #6 (permalink)  
Antiguo 13/06/2004, 13:51
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
RE: [QUOTE=sism82]poner un TXT para cada imagen es muuuuy muuuy ineficiente.


Código:
imagenes/imagen1.jpg | 14
imagenes/imagen2.jpg | 08
datos/dibujo.gif | 12
Perfecto.. lo pondre asi..
pero ahora bien.. como hacer para mostrar el valor mas alto de este archivo en el index

****la imagen mas vista ****
imagenes/imagen1.jpg | 14 <------ ejemplo
  #7 (permalink)  
Antiguo 13/06/2004, 14:00
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
piensale un poco, ya te dí las herramientas.. lee sobre la función file() y la funció explode()

estas dos son con las que yo sacaría el valor mas alto y su imágen correspondiente..


un saludo
  #8 (permalink)  
Antiguo 13/06/2004, 16:26
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Cita:
Iniciado por sism82
piensale un poco, ya te dí las herramientas.. lee sobre la función file() y la funció explode()

estas dos son con las que yo sacaría el valor mas alto y su imágen correspondiente..


un saludo
RE:

lo que pasa es que no soy tan experto en PHP... apenas me estoy comensando en esto...

para mi esta funcion es muy complicada.. la verdad? no se como hacerlo...
me parece maginifica.. pero tengo problemas!!

por eso me gustaria hacer esto de la forma que sea.. pero logrando el objetivo:

**********LA IMAGEN MAS VISTA*******
  #9 (permalink)  
Antiguo 13/06/2004, 17:45
Avatar de reaper  
Fecha de Ingreso: junio-2004
Ubicación: Viña del mar - Chile
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 0
Porque no quieres ocupar MySQL???

Te seria mucho mas facil y no tendrias ese desorden con tantos TXT...
__________________
:golpeado:
  #10 (permalink)  
Antiguo 13/06/2004, 18:20
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Cita:
Iniciado por reaper
Porque no quieres ocupar MySQL???

Te seria mucho mas facil y no tendrias ese desorden con tantos TXT...
RE:
ok.- komo mije antes eso de SQL.. YO QUE ESTOY EMPESANDO.. SERIA COMPLICARME MUCHO... SE QUE SE PUEDE HACER CON TXT.. ya arriba me mensionaron una forma de tener un solo txt para las entradas de las visitas.. la cosa es ahora .. como hacer para que tenga el efecto en un script php.

******LA IMAGEN MAS VISTA**********

gracias... espera alguien me ayude..
  #11 (permalink)  
Antiguo 13/06/2004, 18:22
Avatar de reaper  
Fecha de Ingreso: junio-2004
Ubicación: Viña del mar - Chile
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 0
Solo lo decia por el hecho de que me cuando estaba aprendiendo (de hecho todavia estoy aprendiendo), me parecio mucho mas facil trabajar con BD que con TXT...

Pero si tu lo quieres asi, alla tu, voy a tratar de ayudarte...

__________________
:golpeado:
  #12 (permalink)  
Antiguo 13/06/2004, 21:46
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Desacuerdo

Cita:
Iniciado por xyyy7
para mi esta funcion es muy complicada.. la verdad? no se como hacerlo...
me parece maginifica.. pero tengo problemas!!
¿Y lo que quieres es que alguien te dé el código listo para utilizar?...
Lo mejor sería que digas:
"He tratado de hacer esto" -y pones el código que has intentado- y dices cuál es la parte en la que tienes problemas...
Si buscas las funciones que te pusieron arriba en el manual de php.net, o hasta en este mismo foro puedes encontrar algunos ejemplos de lo que quieres hacer...
Aunque siempre aparce alguno que te va a solucionar el problema, personalmente pienso que ése no es el espíritu de foros como este.

Saludos
  #13 (permalink)  
Antiguo 14/06/2004, 11:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Justamente con SQL en 10 líneas de código tienes todo hecho y lo mejor de todo es que sería muchooooooooo! más eficiente que hacerlo con ".txt" .. Fijate que las soluciones que te están planteando son una forma básica de "emular" el comportamiento de una "Base de datos" común con sus "filas" (registros) y sus datos (campos .. en ese caso separados por algún caracter característico).

Ejemplos tienes en el própio manual de PHP en las funciones que te han dado .. Otra función que deberías ver como funciona es: fgets()

El manual oficial de PHP está lleno de ejemplos. Lo principal es que entiendas la "estructura" de los datos que vas a gestionar para ver que función te puede venir mejor usar.

Un saludo,
  #14 (permalink)  
Antiguo 26/07/2004, 04:13
Avatar de saopaore  
Fecha de Ingreso: marzo-2004
Ubicación: barcelona
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
no todo es tan complejo !!

piens que al menos has de intentar lograr lo que te propones se que es dificil pero luego te sentiras realizado .. y si pides el codigo para que te lo solucione ... pues la verdad estas traicionando al filosofia de este foro ... pinsa que quien saldra ganando eres tu pues asi vas a aprender ...
Sin llegar a dudas yo cogeria y lo haria con MySQL ... es mucho mas sencillo que hacerlo con un TXT y muycho mas limpio .. a aprte de ser mucho mas eficiente ...
crearia una tabla:
Ranking <= nombre de la tabla
los campos que haria serian:
URL <= direccion de la imagen (para luego hacer el enlace)
visitas <= numero de visitas
luego haria que cada vez que la visitaran aumentara en uno el campo
y en el indice haria una consulta a la bbdd (base de datos) donde buscaria todos los campos de Ranking y los ordenaria de forma inversa por visitas (osease la de menos valor al principio y la de mas valor al final !!)
se que suena absurdo ... pero haces un while y el resultado que te quedas es el ultimo selecionado (osease el mayor!!!)
otra forma es coger y hacer un while que solo pase una vez y selecionar solo el valor maximo .... es mas efectivo pero tambien un poco mas liado !!!

NaCl U 2 (se nota que mi hermano es quimico je ej e!!!)
__________________
SAO

Última edición por saopaore; 26/07/2004 a las 04:17
  #15 (permalink)  
Antiguo 26/07/2004, 05:20
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Como dicen los compañeros es mucho más sencillo y más eficiente usar una base de datos. La verdad es que yo los ficheros de texto sólo los usaría para ficheros de configuración y poco más. Pero como te veo empeñado en hacerlo con fichero de texto este código te podría valer (deberías hacer ciertas comprobaciones como que exista el fichero, que no esté vacío, etc pero eso lo dejo en tus manos)

Código PHP:
<?php
$fichero 
fopen("texto.txt""r");
$aImg=array();
while (!
feof($fichero)) {
   
$linea fgets($fichero);
   
$aLinea=explode("|",$linea);
   
$pathImg=trim($aLinea[0]);
   
$numVisitas=trim($aLinea[1]);
   
$aImg[$pathImg]=$numVisitas;
}
fclose($fichero);
arsort($aImg,SORT_NUMERIC);
$imagen each ($aImg); 
echo 
"el path de la imagen mas visitada es ".$imagen["key"]." y ha sido visitada ".$imagen["value"]." veces";

?>
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #16 (permalink)  
Antiguo 06/03/2005, 20:45
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Cita:
<?php
$fichero = fopen("texto.txt", "r");
$aImg=array();
while (!feof($fichero)) {
$linea = fgets($fichero);
$aLinea=explode("|",$linea);
$pathImg=trim($aLinea[0]);
$numVisitas=trim($aLinea[1]);
$aImg[$pathImg]=$numVisitas;
}
fclose($fichero);
arsort($aImg,SORT_NUMERIC);
$imagen = each ($aImg);
echo "el path de la imagen mas visitada es ".$imagen["key"]." y ha sido visitada ".$imagen["value"]." veces";

?>
AMIGO AunQUE A LA FINAL COMENCE CON TU CODIGO LA CUAL ME DIO MUCHO RESULTADO.. Y LUEGO ME CAMBIE A SQL. LA VERDAD MUCHO MAS EFECTIVO.. AHORA EL QUE TU PROPORCIONASTE AHI.. SE LO DOY A LOS MUCHACHOS DE MI SALA aprendices igual que yo! PARA QUE LOS USEN

gracias!
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com

Última edición por xyyy7; 06/03/2005 a las 20:47
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 05:41.