
13.08.2007, 03:15
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 705
Провел на форуме: 5381835
Репутация:
1329
|
|
Выводим картинку из заданной директории 
Думаю будет полезно админам сайтов с обоями
Чтобы отобразить случайную картинку надо сначала просмотреть все файлы в директории, определить какие из них являются картинками, записать в массив и выбрать уже из этого массива случайное изображение. Вроде все просто
Код:
PHP код:
<?php
function randImage($img_dir = 'rand_images')
{
static $images = array();
static $calls = 0;
if (empty($images) && $calls == 0) {
foreach (glob($img_dir.'/{*.jpg, *.png, *.gif}', GLOB_BRACE) as $filename) {
$images[$filename] = getimagesize($filename);
}
++$calls;
}
if (!empty($images)) {
$key = array_rand($images);
$ret = array('name' => $key, 'width' => $images[$key][0], 'height' => $images[$key][1]);
unset($images[$key]);
return $ret;
} else {
return null;
}
}
var_dump(randImage('./images'));
?>
Код работает так: сначала читаем в статичную переменную файлы, подходящие по маске и в статичную же переменную кладем признак того, что функция вызывалась ранее.
Дальше смотрим нашлись ли подходящие файлы и если нашлись, то возвращаем случайный элемент из массива. Затем этот же элемент из массива удаляем, чтоб при повторном вызове функции не отображать уже показанные картинки.
Если массив пустой, возвращается значение NULL. 
|
|
|