Ir para conteúdo
Fórum Script Brasil
  • 0

[Ajuda] Numa parte de cógo de banner(no aguardo)


Kantrum

Pergunta

Olá pessoal Queria me me ajudasse numa parte do código olha só:

<?php

$pasta = 'banners';

$width = '640';

$height = '60';

if ($diretorio = opendir($pasta)) {

$n = 0;

while (false !== ($arquivo = readdir($diretorio))) {

//if(filetype($pasta.'/'.$arquivo) != 'dir' && $file != 'Thumbs.db') //não da bola

{

$n++;

define($n."banner",$pasta.'/'.$arquivo);

}

}

closedir($diretorio);

$banner = constant(rand(5,$n)."banner");

}

echo "<img src=\"$banner\" width=\"$width\" height=\"$height\" />";

echo "<img src=\"$banner\" width=\"$width\" height=\"$height\" />"; //pesssoal aki seria pra mostrar outra imagem

?>

é os eguinte o script funciona mas se eu colocar + de um banner vai aparecer todos iguais eu quero que ele puxe outro aleatório exemplo:

$banner1 = constant(rand(5,$n)."banner");

$banner2 = constant(rand(2,$n)."banner"); SÓ QUE OBVIO DA CRASH NA CONSTANT DO SEGUNDO ^^

}

echo "<img src=\"$banner1\" width=\"$width\" height=\"$height\" />";

echo "<img src=\"$banner2\" width=\"$width\" height=\"$height\" />";

tipo ele pega qualquer um não é programado pra pega A , B, C ele pode pegar B, C, A, C, B, C, A, C, B tanto faz so que quero que mostre 15 diferentes

Banner1 = sorteou o "C"

Banner2 = sorteou o "A"

SO QUE NO MEU CÓDIGO TA ASSIM:

Banner1 = sorteou o B

Banner2 = sorteou o B

atualiaza pagina

Banner1 = sorteou o A

Banner2 = sorteou o A

atualiza pagina

Banner1 = sorteou o C

Banner2 = sorteou o C

espero que me ajudem quero que sortei qualquer 1 mas cada banner diferente que ta na pasta

Editado por Kantrum
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Era algo assim!?

<?php
    $largura = 640;
    $altura = 60;

    // Retorna um elemento de indice aleatorio
    function retornaAleatorio($array) {
        return $array[rand(0, count($array))];
    }

    // retorna um array com os arquivos de uma pasta com uma determinada extensao
    function carregaArquivos($pasta, $extensao = null) {
    $a = Array();
    $b = opendir($pasta);
    if($b) {
        while (($arquivo = readdir($b)) !== false) {
        $c = explode(".", $arquivo);
        if($c[count($c) - 1] == $extensao)
            array_push($a, $arquivo);
        }
    }
    return $a;
    }

    $a = carregaArquivos(".", "jpg");

    for($i = 0; $i < 10; $i++){
        echo "<img src = \"" . retornaAleatorio($a) . "\" width = \"$largura\" height = \"$altura\" /><br>\n";
    }

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Ta dando erro nesse código acima se ta rand(0, todos ficam zero se coloca rand(5, ai ele sortei mas continua repetindo alguns banner sortudo que ganham mais de uma vez

Notice: Undefined offset: 3 in C:\Arquivos de programas\EasyPHP6.0dev\www\bannersaulo.php on line 8

Notice: Undefined offset: 4 in C:\Arquivos de programas\EasyPHP6.0dev\www\bannersaulo.php on line 8

Notice: Undefined offset: 2 in C:\Arquivos de programas\EasyPHP6.0dev\www\bannersaulo.php on line 8

Notice: Undefined offset: 4 in C:\Arquivos de programas\EasyPHP6.0dev\www\bannersaulo.php on line 8

Notice: Undefined offset: 4 in C:\Arquivos de programas\EasyPHP6.0dev\www\bannersaulo.php on line 8

Notice: Undefined offset: 2 in C:\Arquivos de programas\EasyPHP6.0dev\www\bannersaulo.php on line 8

espero que me ajudem grato pelo codigo e agradeço desde já se alguém tiver a soluçao xD

Link para o comentário
Compartilhar em outros sites

  • 0

Analizem meu codigo e ver oque da pra fazer pra não repetir os banners sempre tem algumas imagens q vem repetidas

tentei adicionar o tal shuffle mas sei la

nada funciona já fiz varios codigos de tudo que jeito o mais prox foi esse so que ele sorteia repetido alguns

alguma luz ou um código que funcione

até com banco de dados mas nem assim quero algo simples

ou assim colocar um codigo nesse meu script

que verifica a imagem e se for de mesmo nome ele pega outro ate ficarem todos diferentes

se tiver 50 banner na pasta ele pega 15 diferentes

so que aqui sai 2 ou 3 repetidos .

<meta http-equiv="refresh" content="5" />
<?php

$pasta = 'banners';
array($pasta);
$array = $pasta
#local onde ficarão as imagens para exibir
$width = '127'; #largura do banner a ser exibido
$height = '100'; #altura do banner
if ($ponteiro = opendir($pasta)) {
$n = 0;
$o = 0;
while (false !== ($arquivo = readdir($ponteiro))) {
//if(filetype($pasta.'/'.$arquivo) != 'dir' && $file != 'Thumbs.db')
 {
$n++;
$o++;
define($n."banner",$pasta.'/'.$arquivo);
}
 }
 closedir($ponteiro);



 $banner1 = constant(rand(5,$o)."banner");
 $banner2 = constant(rand(15,$n)."banner");
 $banner3 = constant(rand(5,$o)."banner");
 $banner4 = constant(rand(15,$n)."banner");
 $banner5 = constant(rand(5,$o)."banner");
 $banner6 = constant(rand(15,$n)."banner");
 $banner7 = constant(rand(5,$o)."banner");
 $banner8 = constant(rand(15,$n)."banner");
 $banner9 = constant(rand(5,$o)."banner");
 $banner10 = constant(rand(15,$n)."banner");
 $banner11 = constant(rand(5,$o)."banner");
 $banner12 = constant(rand(15,$n)."banner");
 $banner13 = constant(rand(5,$o)."banner");
 $banner14 = constant(rand(15,$n)."banner");
 $banner15 = constant(rand(5,$o)."banner");
 shuffle($array);
 }
 echo "<img src=\"$banner1\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner2\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner3\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner4\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner5\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner6\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner7\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner8\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner9\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner10\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner11\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner12\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner13\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner14\" width=\"$width\" height=\"$height\" /></br>";
 echo "<img src=\"$banner15\" width=\"$width\" height=\"$height\" /></br>";

 ?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...