Рандомный вывод картинок

Тема в разделе "PHP", создана пользователем Vincent, 25 июл 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Vincent

    Vincent Постоялец

    Регистр.:
    29 окт 2006
    Сообщения:
    117
    Симпатии:
    25
    Есть таблица. В каждой ячейке картинка. Есть папка с кучей картинок.
    Как сделать чтобы при каждом обновлении страницы показывались случайные картинки?
     
  2. swer

    swer

    Регистр.:
    15 июн 2008
    Сообщения:
    305
    Симпатии:
    38
    подкл к базе,делаешь подсчет кол-ва картинок count(),далее записываешь в массив, к прим.
    $count = count($row[id]);
    далее выводишь с помощью ранд
    PHP:
    for($i=0;$i<5;$i++){//5 это кол-во имж которые нужно тебе вывести рандомно
    $rand mt_rand(0,$count);
    echo 
    "<img src=img/".$rand.".jpg>";}
    дополню,это если у тебя картинки в строгой последовательности с ид в таблице..)),если иначе то перепишу код.
     
  3. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    312
    PHP:
    <?php
    $count
    =6//  количество картинок, отображаемых за раз
    $dir="pictures";  //  папка с картинками
    $r=opendir($dir);  //  открываем папку
    $arr=array();  //  пустой массив, куда будем слаживать имена картинок
    while (false !==  ($k readdir($r))){  //  читам директорию
      
    if($m=strtolower(substr($k,-4) and  ($m=='.jpg' or $m=='.png' or $m=='.gif'))  //  если расширение файла кАрТиНоВсКоЕ, то
        
    $arr[]=$k;  //   добавляем в массив
    }
    echo 
    "<table><tr>";
    srand ((float)microtime()*1000000);  //  randomizzzzzze
    shuffle($arr);  //  перетряхиваем массив
    for($q=0;$q<$count;$q++){
      echo 
    "<td><img src='".$dir."/".$arr[$q]."'/></td>";  //  выводим заданное количество картинок
    }
    echo 
    "</tr></table>";
    ?>
     
    zzallexx нравится это.
  4. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    884
    Симпатии:
    540
    Тема поднималась Перейти по ссылке
     
Статус темы:
Закрыта.