Discussion:
funcion palabras aleatorias
(demasiado antiguo para responder)
DDLuis
2004-07-05 09:31:32 UTC
Permalink
Hola
seguramente para los entendidos en php esto que les pregunto es muy facil.

Necesito una funcion que tome una serie de palabras o frases separadas por
comas, de un archivo externo php o txt, y me las muestre en la pagina en
orden aleatorio cada vez que se abre dicha pagina...¿se entiende?, cada vez
que se carga el documento, aparecen las palabras o frases en diferente
orden, y si es posible (por pedir ya que estamos) que yo tenga oportunidad
de indicarle cuantas de esas frases o palabras a parezcan....

si alguien sabe y me puede ayudar muchas gracias...

salu
Iván Sánchez Ortega
2004-07-05 14:44:35 UTC
Permalink
Post by DDLuis
Hola
seguramente para los entendidos en php esto que les pregunto es muy facil.
Necesito una funcion que tome una serie de palabras o frases separadas por
comas, de un archivo externo php o txt, y me las muestre en la pagina en
orden aleatorio cada vez que se abre dicha pagina...
<?

$palabras = explode(",", file_get_contents("fichero.txt") );

shuffle($palabras);

echo implode(",",$palabras);

?>
Post by DDLuis
¿se entiende?, cada
vez que se carga el documento, aparecen las palabras o frases en diferente
orden, y si es posible (por pedir ya que estamos) que yo tenga oportunidad
de indicarle cuantas de esas frases o palabras a parezcan....
Es cuestión de, una vez "barajada" el array, mostrar sólo un cierto número
de elementos desde el principio, p ej:

en vez de <? echo implode(",",$palabras); ?> :

<?

$i=0; reset($palabras);
while( $i++ <20 && list($foo,$palabra) = each($palabras) )
echo $palabra;

?>

Por supuesto, hay otras mil maneras de hacerlo.

- --
- ----------------------------------
Iván Sánchez Ortega -ivansanchez-arroba-escomposlinux-punto-org

A cada Santo, le llega su hora.
DDLuis
2004-07-05 22:56:50 UTC
Permalink
Muchas gracias, me ha sido muy util !!!
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by DDLuis
Hola
seguramente para los entendidos en php esto que les pregunto es muy facil.
Necesito una funcion que tome una serie de palabras o frases separadas por
comas, de un archivo externo php o txt, y me las muestre en la pagina en
orden aleatorio cada vez que se abre dicha pagina...
<?
$palabras = explode(",", file_get_contents("fichero.txt") );
shuffle($palabras);
echo implode(",",$palabras);
?>
Post by DDLuis
¿se entiende?, cada
vez que se carga el documento, aparecen las palabras o frases en diferente
orden, y si es posible (por pedir ya que estamos) que yo tenga oportunidad
de indicarle cuantas de esas frases o palabras a parezcan....
Es cuestión de, una vez "barajada" el array, mostrar sólo un cierto número
<?
$i=0; reset($palabras);
while( $i++ <20 && list($foo,$palabra) = each($palabras) )
echo $palabra;
?>
Por supuesto, hay otras mil maneras de hacerlo.
- --
- ----------------------------------
Iván Sánchez Ortega -ivansanchez-arroba-escomposlinux-punto-org
A cada Santo, le llega su hora.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA6WlVR56dWuhgxGgRAgQvAJ4krnF6JTz88H9isBk8QrMgIeemrwCfZ8i0
1YMS1ksfBqQ0HYL3cMmlCH8=
=/6nS
-----END PGP SIGNATURE-----
DDLuis
2004-07-06 06:03:46 UTC
Permalink
Solo una cosa me sucede,
cuando lo ejecuto en local, anda impecable, pero cuando subo el archivo al
servidor, me larga un error:

Warning: Variable passed to each() is not an array or object in
/home/virtual/sitio7187/www/index.php on line 18

<?
$palabras = explode(",", file_get_contents("fichero.txt") );

shuffle($palabras);

$i=0; reset($palabras);
while( $i++ <20 && list($foo,$palabras) = each($palabras) ) --------esta
es la linea 18
echo $palabra;
?>

¿a que se debe??
Post by DDLuis
Hola
seguramente para los entendidos en php esto que les pregunto es muy facil.
Necesito una funcion que tome una serie de palabras o frases separadas por
comas, de un archivo externo php o txt, y me las muestre en la pagina en
orden aleatorio cada vez que se abre dicha pagina...¿se entiende?, cada vez
que se carga el documento, aparecen las palabras o frases en diferente
orden, y si es posible (por pedir ya que estamos) que yo tenga oportunidad
de indicarle cuantas de esas frases o palabras a parezcan....
si alguien sabe y me puede ayudar muchas gracias...
salu
Iván Sánchez Ortega
2004-07-06 10:58:35 UTC
Permalink
Post by DDLuis
Warning: Variable passed to each() is not an array or object in
/home/virtual/sitio7187/www/index.php on line 18
[...]
¿a que se debe??
Se debe a que el parámetro que le pasas a each() (que es $palabras) no es un
array, D'oh!

Comprueba que $palabras se carga bien, haz un print_r($palabras) o algo así
antes de la 18.

- --
- ----------------------------------
Iván Sánchez Ortega -ivansanchez-arroba-escomposlinux-punto-org

Confucius says: He who play in root, eventually kill tree.
DDLuis
2004-07-07 04:55:57 UTC
Permalink
sigue, lo que no entiendo es porque en mi servidor local no me da error, me
anda todo perfecto, pero si lo subo al hosting si me da herror.

ciao
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by DDLuis
Warning: Variable passed to each() is not an array or object in
/home/virtual/sitio7187/www/index.php on line 18
[...]
¿a que se debe??
Se debe a que el parámetro que le pasas a each() (que es $palabras) no es un
array, D'oh!
Comprueba que $palabras se carga bien, haz un print_r($palabras) o algo así
antes de la 18.
- --
- ----------------------------------
Iván Sánchez Ortega -ivansanchez-arroba-escomposlinux-punto-org
Confucius says: He who play in root, eventually kill tree.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFA6oXdR56dWuhgxGgRAmcHAKCl1f3MJlw73TiWHZ/HL4EJR4IWCgCghpNk
nFTLySPuBILJjJnrkO2sPXc=
=uXJN
-----END PGP SIGNATURE-----
Ignacio Manzano Arribas
2004-07-07 09:36:43 UTC
Permalink
Comprueba que tienes permisos de lectura para el fichero.txt

Salu2
Iñaky
Post by DDLuis
Solo una cosa me sucede,
cuando lo ejecuto en local, anda impecable, pero cuando subo el archivo al
Warning: Variable passed to each() is not an array or object in
/home/virtual/sitio7187/www/index.php on line 18
<?
$palabras = explode(",", file_get_contents("fichero.txt") );
shuffle($palabras);
$i=0; reset($palabras);
while( $i++ <20 && list($foo,$palabras) = each($palabras) ) --------esta
es la linea 18
echo $palabra;
?>
¿a que se debe??
Post by DDLuis
Hola
seguramente para los entendidos en php esto que les pregunto es muy facil.
Necesito una funcion que tome una serie de palabras o frases separadas por
comas, de un archivo externo php o txt, y me las muestre en la pagina en
orden aleatorio cada vez que se abre dicha pagina...¿se entiende?, cada
vez
Post by DDLuis
que se carga el documento, aparecen las palabras o frases en diferente
orden, y si es posible (por pedir ya que estamos) que yo tenga oportunidad
de indicarle cuantas de esas frases o palabras a parezcan....
si alguien sabe y me puede ayudar muchas gracias...
salu
Loading...