Ayuda php

KoKiTO

Tengo una duda sobre un codigo anq si me decias la manera de poner solo lo q qiero a ver di daria hecho. El problema es q tengo un script q muestra imagenes aleatorias q tu eliges o d dentro de un directorio. Pero yo lo q qiero es q busqe imagenes en las subcarpetas.

Estuve probando y tal pero nose como :( xDD

si me podeis ayudar. gracias

PiradoIV

A bolapié se me ocurren dos formas de hacerlo, una fea y otra más óptima:

a) Sin base de datos

Creas una función con un bucle que te saque un listado de todos los ficheros que hay, si el elemento es una imagen, guardas la ruta en un array, si es un directorio... vuelves a llamar a la misma función. Así hasta que acabe. Luego ordenas el array aleatoriamente y pillas el primero.

Esta opción puede llegar a ser muy lenta según la cantidad de ficheros y subdirectorios que tengas, además del consumo del procesador.

b) Con base de datos

Igual que la primera opción, pero cuando vayas encontrando las imágenes, metes la ruta en una tabla de la base de datos que hayas preparado. Luego cada vez que cargues la web, haces una consulta SQL similar a:

SELECT ruta FROM imagenes SORT BY RND(id) LIMIT 1

ninja-edit: Es ORDER BY, no SORT BY

El único cuidado que tienes que tener es que, cuando la base de datos te de la ruta, realmente exista el fichero.

¡Saludoss!

Soltrac

No se en PHP, pero acabe de hacer un minicodigo en C# de la opción (A) de #2 y la verdad es q no es lento ni veo q consuma mucho. Pero claro, esto es en un software, en una web que acceda mucha gente no se yo como funcionaría.

PiradoIV

Bueno, es según para lo que lo tengas que usar, pero aun tardando un simple segundo... eso en una web es una eternidad.

KoKiTO

Yo lo hice con un txt donde supuestamente guarda las rutas de las imagenes tal q asi

ImageWidth="100";ImageHeight="100";
image1="HRIC/images/image1.jpg";
image2="HRIC/images/image2.jpg";
image3="HRIC/images/image3.jpg";
image4="HRIC/images/image4.jpg";
image5="HRIC/images/image5.jpg";

entonces el codigo lee el archivo y las muestra cogiendo numero aleatorio desde 1 a 5.

Kaos

Pirado q diferencia hay entre SORT BY y ORDER BY? :O

erdanblo

#6 Que sort ordena la columna la columna y la muestra y order lo que hace es mostrarlo ordenado.

I dont nou, yo lo vi y tb le iba a preguntar, pero se me paso...

RedHat

SORT BY == es más selecto, los ms aumentan.
ORDER BY == es más ágil, pero en segun que ocasiones, menos preciso que el sort.

edit: (vamos por lo que pude ver...) si me equivoco, corregidme.

NeB1

yo creía que SORT BY no existía xD

PiradoIV

La verdad es que quería poner ORDER BY, no sabía que existiese SORT BY y no sé ni por qué lo puse x'DDD

Saludos x'D

Ninja-edit: de hecho, acabo de probar SORT BY y me da error, no creo ni que exista, mil disculpas x)

erdanblo

EspeCculadores!

xD

Yo estuve buscando un SORT BY vs. ORDER BY en Google y no di con nada, pero tampoco probe a ver si daba error :P

Usuarios habituales

  • erdanblo
  • PiradoIV
  • NeB1
  • RedHat
  • Kaos
  • KoKiTO
  • Soltrac