Foros del Web » Programando para Internet » PHP »

Aportacion:; Rotador de banners

Estas en el tema de Aportacion:; Rotador de banners en el foro de PHP en Foros del Web. Hola, Pues aqui quiero dejar una pequeña aportacion a la comunidad, un pequeña funcion que recibe la ruta de un directorio donde haya imagenes y ...
  #1 (permalink)  
Antiguo 12/08/2005, 06:21
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Aportacion:; Rotador de banners

Hola,

Pues aqui quiero dejar una pequeña aportacion a la comunidad, un pequeña funcion que recibe la ruta de un directorio donde haya imagenes y muestra una ellas aleatoriamente.
Código PHP:
<?
/****************************************************************/
/* Funcion que rota banners cada vez que se actualiza el script */
/* DESCRIPION:                                                    */
/* ----------                                                    */
/* La funcion recibe una ruta hacia un directorio donde haya    */
/* imagenes, obtiene un listado del directorio y selecciona solo*/
/* los archivos que tienen la extension especificada (esto se    */
/* puede cambiar al gusto)                                        */
/* -------------------------------------------------------------*/
/* Autor: elangelcaido                                    */
/* Fecha: 12-08-2005                                            */
/* Version: 1.0b                                                */
/****************************************************************/
function rotarBanners($dir){
    
$dir=addslashes($dir);
    
//Comprobamos si la ruta que nos pasan en correcta
    
if (is_dir($dir)){
        
//Abrimos el manejador del directorio
        
$manejadorDir=opendir($dir);
        
//Mientras haya archivos...
        
while ($archivo readdir($manejadorDir)) {
            
//Obtenemos la extension
            
$extension=explode(".",$archivo);
            
$extension=$extension[1];
            
//La comparamos con las permitidas
            
if(strcmp($extension,"jpg")==|| strcmp($extension,"gif")==0){
                
$arrayImagenes[]=$archivo;
                
//echo "$archivo\n";
            
}
        }
        
//Obtenemos el nº aleatorio
        
$i=rand(0,count($arrayImagenes)-1);
        
//Mostramos la imagen
        
echo '<img src="'.$dir.$arrayImagenes[$i].'" alt="Imagen '.$arrayImagenes[$i].'" border="0">';
        
//Cerramos el manejador de directorio
        
closedir($manejadorDir);
    }else{
        echo 
'<b>'.$dir.' no es un directorio.</b>';
    }
}
?>
Naturalemte si quereis hacer mejoras o veis alguna cosilla que esta mal o que puede estar mejor... no dudeis en hacerlo.

Un saludo !!
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #2 (permalink)  
Antiguo 12/08/2005, 06:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Sobre el método que usas para obtener la extensión .. ten cuidado .. por qué si se tiene imagenes o archivos en general que sean tipo: nose.nose.jpg .. tu rutina actual sólo identificaría como "extensión": nose.jpg .. lo cual no es lo deseado.

Puedes usar la función end() (http://www.php.net/end) de manejo de arrays .. así te quedas con el último elemento del posible array arrojado tras "partir" tu cadena (el nombre del archivo) por el caracter ".".

Código PHP:
$extension=explode(".",$archivo); 
$extension=end($extension); 
Un saludo,
  #3 (permalink)  
Antiguo 12/08/2005, 07:40
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Uhmmm , interesante, no conocia esa funcion.

Gracias !!
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #4 (permalink)  
Antiguo 12/08/2005, 11:07
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 12 años, 6 meses
Puntos: 0
Interesante..PERO... PARA INSERTAR FLASH?? ARCHIVOS .SWF?? como harias??
  #5 (permalink)  
Antiguo 12/08/2005, 11:26
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 13 años, 7 meses
Puntos: 0
Flash es otra cosa, son objetos en sí, para hacerlo debes hacer tu propio MovieClip de película que jale aleatoriamente otros swf en tu directorio
__________________
Julio Hernández
  #6 (permalink)  
Antiguo 12/08/2005, 11:55
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 3 meses
Puntos: 4
Pues supongo que seria algo asi (no lo probé):
Código PHP:
<? 
/**************************************************  **************/ 
/* Funcion que rota banners cada vez que se actualiza el script */ 
/* DESCRIPION:                                                    */ 
/* ----------                                                    */ 
/* La funcion recibe una ruta hacia un directorio donde haya    */ 
/* imagenes, obtiene un listado del directorio y selecciona solo*/ 
/* los archivos que tienen la extension especificada (esto se    */ 
/* puede cambiar al gusto)                                        */ 
/* -------------------------------------------------------------*/ 
/* Autor: elangelcaido                                    */ 
/* Fecha: 12-08-2005                                            */ 
/* Version: 1.0b                                                */ 
/**************************************************  **************/ 
function rotarBanners($dir){ 
    
$dir=addslashes($dir); 
    
//Comprobamos si la ruta que nos pasan en correcta 
    
if (is_dir($dir)){ 
        
//Abrimos el manejador del directorio 
        
$manejadorDir=opendir($dir); 
        
//Mientras haya archivos... 
        
while ($archivo readdir($manejadorDir)) { 
            
//Obtenemos la extension 
            
$extension=explode(".",$archivo); 
            
$extension=end($extension);
            
//La comparamos con las permitidas 
            
if(strcmp($extension,"swf")==0){ 
                
$arrayImagenes[]=$archivo
                
//echo "$archivo\n"; 
            

        } 
        
//Obtenemos el nº aleatorio 
        
$i=rand(0,count($arrayImagenes)-1); 
        
//Mostramos la imagen 
        
echo '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0" width="320" height="180">
  <param name=movie value="'
.$arrayImagenes[$i].'">
  <param name=quality value=high>
  <embed src="'
.$arrayImagenes[$i].'" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="320" height="180">
  </embed> 
</object>'

        
//Cerramos el manejador de directorio 
        
closedir($manejadorDir); 
    }else{ 
        echo 
'<b>'.$dir.' no es un directorio.</b>'
    } 

?>
Cambiando los valores de ancho y alto.
Espero que te pueda guiar un poco.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #7 (permalink)  
Antiguo 26/01/2006, 18:25
 
Fecha de Ingreso: enero-2005
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Me gustaria saber como puedo rotar banners con extension .swf, pero que no sean aleatorios, sino que puedan rotarse los archivos .swf. Si encuentran alguna forma se los agradecere
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 23:30.