Foros del Web » Programando para Internet » PHP »

Leer variables aleatorias de un txt

Estas en el tema de Leer variables aleatorias de un txt en el foro de PHP en Foros del Web. Muy buenas. Estoy empezando con PHP y quiero generar un script que, además de cargar una imagen aleatoria (que más o menos tengo una idea ...
  #1 (permalink)  
Antiguo 23/12/2005, 12:26
 
Fecha de Ingreso: enero-2005
Mensajes: 102
Antigüedad: 19 años, 3 meses
Puntos: 0
Leer variables aleatorias de un txt

Muy buenas. Estoy empezando con PHP y quiero generar un script que, además de cargar una imagen aleatoria (que más o menos tengo una idea de cómo hacerlo) coja variables también aleatorias de un archivo txt (no sé si esto es posible) y las cargue junto a la fotografía. El nombre de archivo para las fotografías es numérico, y va desde el 1.jpg hasta el 30.jpg.

Entonces deseo crear un archivo txt que contenga variables de texto, pero no tengo ni idea de la sintaxis correcta que debo utilizar para nombrar estas variables, es decir, algo así como $1="Fotografía 1"; $2="Cualquier nombre";...

¿Cómo escribo estas variables en el txt? ¿Es posible cogerlas mediante PHP? ¿Cómo debo hacerlo?

Perdonad, pero es que estoy muy verde. Por ahora creo que puedo realizar una selección aleatoria del número mediante la funcion rand(). ¿Estoy en lo cierto? ¿Cómo debo hacerlo?

Gracias por adelantado.
  #2 (permalink)  
Antiguo 23/12/2005, 12:31
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
El fichero de texto en principio podría tener cualquier estructura, pero para hacer más sencilla su lectura te aconsejo que mires el formato CVS para hacer pseudo bases de datos a partir de txt's.

y a todo esto... si el txt no tiene una estructura ya definida, ¿por que no insertas directamente las cadenas de texto en un array PHP? Esto te facilitaría aún más las cosas, puesto que sería inmediato hacer un rand.

Saludos
  #3 (permalink)  
Antiguo 23/12/2005, 12:39
 
Fecha de Ingreso: enero-2005
Mensajes: 102
Antigüedad: 19 años, 3 meses
Puntos: 0
Sí, lo he pensado, el poner directamente un array en el fichero PHP, pero si el número de frases no es 30, sino 2000, ¿no aumentaría demasiado el peso del fichero PHP?

Por eso había pensado el leer de un txt. Voy a mirar lo del formato CVS, pero... ¿podrías decirme cómo leer del PHP esas variables?

Gracias por contestar
  #4 (permalink)  
Antiguo 23/12/2005, 12:55
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
Perdón, patiné... quería decir CSV.

En esta página te viene un ejemplo muy sencillo:

http://www.webtaller.com/construccio...ro_csv_php.php

Me parece adecuando lo de usar un txt si son 2000 palabras

suerte!
  #5 (permalink)  
Antiguo 23/12/2005, 13:02
 
Fecha de Ingreso: enero-2005
Mensajes: 102
Antigüedad: 19 años, 3 meses
Puntos: 0
Muchas gracias por el link, Radian. Voy a ponerme con ello.
  #6 (permalink)  
Antiguo 23/12/2005, 15:12
 
Fecha de Ingreso: enero-2005
Mensajes: 102
Antigüedad: 19 años, 3 meses
Puntos: 0
Nada, que no lo consigo. De hecho, no entiendo para nada lo de CSV. ¿No hay una forma más fácil de leer una variable en un txt? Es decir, necesito que me digan una instrucción para leer una variable de un txt, porque yo estoy mirando fopen(), fread(), etc, pero no consigo visualizar nada, de hecho porque no se muy bien lo que estoy haciendo.

Además, ¿Cómo tiene que estar escrita esa variable en el txt? ¿$1="Tal cosa" o con otra sintaxis?

Espero que puedan ayudarme.
  #7 (permalink)  
Antiguo 23/12/2005, 15:30
 
Fecha de Ingreso: enero-2005
Mensajes: 102
Antigüedad: 19 años, 3 meses
Puntos: 0
Por casualidad, ¿PHP tiene alguna función parecida a LoadVars de Flash MX? Si es así, ¿me pueden indicar cual?
  #8 (permalink)  
Antiguo 23/12/2005, 15:47
 
Fecha de Ingreso: enero-2005
Mensajes: 102
Antigüedad: 19 años, 3 meses
Puntos: 0
Bueno, he realizado un pequeño script que me coge una línea de texto según el número que me da la función rand(); No estoy muy de acuerdo con el resultado, ya que creo que para muchas líneas la función file() sobrecargaría la memoria (¿es cierto esto? Imagino que sí porque está generando un array)

Bueno este es el script, por si a alguien le sirve:

<?
$numero = rand(1,4);//Me da un número aleatorio del 1 al 4

$archivo = file("prueba.txt");//Cargo el contenido del archivo prueba.txt por líneas en un array

echo $archivo[$numero];//Muestro la línea elegida por la función rand()
?>

Bueno, para mi nivel no está nada mal. Si veis que este script no es muy bueno para realizar lo que deseo o que se puede mejorar, postear una respuesta, buena gente.

Un saludo.
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 21:27.