Foros del Web » Programando para Internet » PHP »

Archivo aleatorio.

Estas en el tema de Archivo aleatorio. en el foro de PHP en Foros del Web. Hola a todos, quería saber si con PHP (o de otra forma) se puede hacer que cada vez que se abra una página aparezca, dentro ...
  #1 (permalink)  
Antiguo 03/08/2003, 19:43
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Archivo aleatorio.

Hola a todos, quería saber si con PHP (o de otra forma) se puede hacer que cada vez que se abra una página aparezca, dentro de ella, otra página aleatoriamente. Es para que en esas páginas este contenida una imagen con su respectivo link y que cada ves que se abra la página principal, esa imagen aparesca con su link; es la forma más fácil que veo para hacerlo, si existe otra me lo dicen por favor?

Espero su ayuda, gracias.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #2 (permalink)  
Antiguo 03/08/2003, 22:48
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 3 meses
Puntos: 8
MMmm.
Una pagina dentro de otra pagina... quizas lo puedes hacer mediante un layer pero no se justifica para lo que deseas.
Aprovecha de que php se ejecuta desde el servidor y, por lo tanto, el usuario ni se entera lo que sucede. Puedes crear la salida html aleatoriamente...
Algo basico seria:
Código PHP:
$imagen[0]["archivo"] = "http://sitio.com/imagen.jpg";
$imagen[0]["link"] = "http://lugar1.com";

$imagen[1]["archivo"] = "http://sitio.com/otro.gif";
$imagen[1]["link"] = "http://www.otracosa.com";

$imagen[2]["archivo"] = "http://sitio.com/figura.png";
$imagen[2]["link"] = "http://purohumor.webcindario.com";

$imagen[3]["archivo"] = "http://sitio.com/imagen2.jpg";
$imagen[3]["link"] = "http://www.google.com";
// Y asi sucesivamente de acuerdo al numero de imágenes que quieras

$aleatorio rand(0count($imagen)-1); // generas un indice aleatorio utilizando rand()

echo "<a href=\"".$imagen[$aleatorio]["link"]."\"><img border=\"0\" src=\"".$imagen[$aleatorio]["archivo"]."\"></a>"
Saludos.
  #3 (permalink)  
Antiguo 04/08/2003, 09:03
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Muchisimas gracias, lo voy a probar.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #4 (permalink)  
Antiguo 04/08/2003, 22:31
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Andubo perfecto

Ahora tengo otra duda: como hacer algo parecido con archivos de texto; si pueden ser externos, mejor, pero si no es lo mismo, a ver si se puede.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #5 (permalink)  
Antiguo 05/08/2003, 19:27
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Nadie me puede ayudar?
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #6 (permalink)  
Antiguo 05/08/2003, 19:52
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 10 meses
Puntos: 0
Quieres mostrar el contenido del texto en forma aleatoria?.
  #7 (permalink)  
Antiguo 05/08/2003, 21:02
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
No, que aleatoriamente se elija un archivo de texto con cierto contenido cada uno. Desde ya, gracias.
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #8 (permalink)  
Antiguo 05/08/2003, 21:28
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 9 meses
Puntos: 5
Bueno, aqui te va...

Código PHP:
<?php
$dir
='archivostxt/'//El directorio local donde almacenas solo los archivos de texto
if ($handle opendir($dir)) {
    while (
false !== ($file readdir($handle))) {
        if (!
is_dir($dir.$file) && $file != "." && $file != "..") {
            
$archivos[]=urlencode($file);
        }
    }
    
closedir($handle);
}
$aleatorio rand(0count($archivos)-1);
echo 
$archivos[$aleatorio];
?>
Espero que te ayude...

__________________
Manoloweb
  #9 (permalink)  
Antiguo 05/08/2003, 22:53
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 10 meses
Puntos: 0
El código de Manoloweb, lee los ficheros en una determinada carpeta.

Acá tienes otra opción, el mio lee el contenido de un *.txt, para todos los gustos, veo que estas consuerte, todos estan con ganas de ayudar.

Código PHP:
<?php
// Creamos el array con los datos necesario, debes tener 0,1,2,3,4.txt en el directorio donde se ejecutra este script.
$files = array(    "0"    => "0.txt",
                
"1"    => "1.txt",
                
"2"    => "2.txt",
                
"3"    => "3.txt",
                
"4"    => "4.txt"
                
);
$random rand(0count($files)-1);        // generamos un valor aleatorio basado en el array
$file    $files[$random];                // asiganamos un valor tomado del array en base al radom
$fo        fopen ($file"r");            // abrimos archivo elegido
$contentfread ($fofilesize ($file));// leemos el archivo en plano binario
fclose ($fo);                            // cerramos el puntro de nuestro archivo abierto 

print $content;                            // finalmemte imprimimos el cotenido del archivo
?>
Si es lo que buscabas, bienvenido

Nunca se ven como uno los pone estos códigos, salen todo desordenados.

Saludos

Última edición por biblio; 06/08/2003 a las 00:15
  #10 (permalink)  
Antiguo 06/08/2003, 18:41
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Muchísimas gracias a ambos.
Voy a ver cual más se adecúa a lo que necesito y lo voy a usar.

Un saludo.

__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #11 (permalink)  
Antiguo 07/08/2003, 20:16
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Usé el de biblio porque el de manoloweb me mostraba solo el nombre del .txt y no su contenido, pero tengo un pequeño problema: me aparecendemasiado seguido el mismo archivo repetido cuando actualizo la página, espero que se pueda solucionar y me ayuden a hacerlo
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
  #12 (permalink)  
Antiguo 07/08/2003, 20:28
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 9 meses
Puntos: 5
philipppe


Ese echo $archivos[$aleatorio]; que te puse era solo para que vieras como se comportaba... asumí que tu ibas a terminar el trabajo...

El de biblio es bueno, pero tienes que entrar a actualizar el array cada vez que agregas un nuevo archivo al directorio...


Aca tienes una combinacion de ambos...

Código PHP:
<?php
$dir
='archivostxt/'//El directorio local donde almacenas solo los archivos de texto
if ($handle opendir($dir)) {
    while (
false !== ($file readdir($handle))) {
        if (!
is_dir($dir.$file) && $file != "." && $file != "..") {
            
$archivos[]=urlencode($file);
        }
    }
    
closedir($handle);
}
$aleatorio rand(0count($archivos)-1);
$file=$archivos[$aleatorio];
$fo        fopen ($file"r");            // abrimos archivo elegido
$contentfread ($fofilesize ($file));// leemos el archivo en plano binario
fclose ($fo);                            // cerramos el puntro de nuestro archivo abierto 

print $content;                            // finalmemte imprimimos el cotenido del archivo
?>
Te recomiendo que cuando alguien te pase un script te detengas un poco a analizarlo, y no simplemente lo copies a tuy file asi nada mas, pues es casi seguro que no va a funcionar como lo esperas al 100% y vas a tener que meterle mano (o volver a preguntar)...

__________________
Manoloweb
  #13 (permalink)  
Antiguo 07/08/2003, 20:37
Avatar de biblio  
Fecha de Ingreso: enero-2002
Ubicación: Urano
Mensajes: 577
Antigüedad: 22 años, 10 meses
Puntos: 0
Así es!, como dice Manoloweb, se te dió las pautas con ejemplos, lo demas ya corre por tu cuenta. Una combinación y ya.

"camaron que se duerme se lo lleva la corriente"

Saludos
  #14 (permalink)  
Antiguo 07/08/2003, 23:24
Avatar de cakle  
Fecha de Ingreso: diciembre-2001
Ubicación: Aka en Tantoyork. Ver.
Mensajes: 319
Antigüedad: 22 años, 11 meses
Puntos: 0
Muestrame Man

Phillipe " Jelipeeeeeeeeeeeeeeee

Pon el LInk para ver como es que te kedo...... ya que de ahi tambien voy aprendiendo YO




Cita:
Estoy Feliz porque este es mi mensaje Numero 100 " Gracias a Todos los Cyber Foreros por su Ayuda"


Cita:
Bueno aunque ya tengo un buen que entraba...... solo que me habian borrado mis mensajes
__________________
ßrÚûjeRÎÄäS§ " Shub Nigguruth (la panica Cabra de las Mil Crias)




  #15 (permalink)  
Antiguo 08/08/2003, 19:16
Avatar de philipppe  
Fecha de Ingreso: marzo-2002
Ubicación: Uruguay
Mensajes: 706
Antigüedad: 22 años, 8 meses
Puntos: 0
Aprenderé de mis errores, se los aseguro; aunque recién estoy comenzando con PHP, les agradezco su disposición de ayudar a los que están empezando


cakle: te aseguro que pondré la dirección de mi página, pero trabajo en localhost y la subiré recién cuando esté totalmente terminada (aunque creo que una web nunca se termina), cuando esto suceda no duden que la pondré aquí


saludos
__________________
Plugin de AdSense para Wordpress: http://adsensei.org
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 22:43.