Делаем вывод случайного изображения на php
|
|
Среда, 05 Ноября 2008 г. 18:04
+ в цитатник
Оригинал сообщенияКомментарии: 
Например, у вас есть сайт и на сайте есть мини блок где вы показываете картинки, и вы постоянно(например: раз в день) обновляете html файл в который каждый раз вставляете новую картинку. Согласитесь это очень не удобно, ну так вот в данном примере мы решим эту проблему. Пример вы можете посмотреть
здесь , потом обновите страницу, для этого нажмите F5 и вы увидите, что картинка стала совершенно другой.
Для начала создайте файл index.php и вставьте в него следующий код:
<?
$imgdir=”img/”;
$ext=”jpg”;
$mode=2;
$error=”Мало картинок.”;
$errorfile=”error/error_001.jpg”;
$NoCacheMode=1;
function NoCache()
{
header(”Cache-Control: no-store, no-cache, must-revalidate”);
header(”Pragma: no-cache”);
header(”Last-Modified: “.gmdate(”D, d m y H:i:s”).”GMT”);
}
function FileCount($imgdir)
{
$files=0;
$cfile=opendir(”$imgdir”);
while(($e=readdir($cfile))!==false)
{
$files++;
}
$files-=3;
return $files;
}
function filetest($ranfile)
{global $imagelist;
$status = false;
if (IsSet($imagelist))
{
foreach ($imagelist as $occu)
{
$occu=trim($occu);
if ($ranfile==$occu)
{
$status=true;
return $status;
}
}
}
return $status;
}
function ImgWrite($ranfile)
{global $imagelist;
$ranfile=trim($ranfile);
$imagelist[]=$ranfile;
}
function ImgRandom($files)
{global $ext, $imgdir, $imgcounter, $mode, $error, $errorfile;
$ranfile= mt_rand(1, $files);
$ranfile= sprintf(”%03d”, $ranfile);
if (!filetest($ranfile))
{
ImgWrite($ranfile);
Echo “<img src=\”$imgdir$ranfile.”.$ext.”\”>”;
$imgcounter++;
}
else
{
if ($imgcounter<$files)
{
ImgRandom($files);
}
else
{
if ($mode==1)
{
Echo $error.”<br>”;
}
elseif ($mode==2)
{
Echo “<img src=\”$imgdir$errorfile.”.$ext.”\”>”;
}
}
}
}
if ($NoCacheMode==1)
{
NoCache();
}
$imgcounter=0;
print “<title>Случайный вывод картинок</title><br>”;
ImgRandom(FileCount($imgdir));
?>
Разберём код немного подробнее
$imgdir=”img/”;
Данная строчка отвечает откуда будут грузится картинки, в данном случае картинки будут загружаться из папки img.
———————————
$ext=”jpg”;
Данная строчка отвечает за расширение картинок, которые будут выводится, в данном случае картинки будут грузится только с расширением jpg
———————————
$error=”Мало картинок.”;
$errorfile=”error/error_001.jpg”;
Данная строчка отвечает за то, что если в папке img не будет ни одной картинки, на экран пользователя будет выведена картинка, можете в данную папку поместить свою собственную картинку.
Теперь когда будете загружать картинки в папку img не забудьте переименовать все картинки в названия такого типа 001.jp; 002.jpg; 003.jpg; 010.jpg и.т.д
Папку img надо класть в ту директорию куда вы положили файл index.php или переназначьте путь откуда будут грузится картинки.
Дополнительно:
Автор:
Сергей ПарижскийЯ сейчас нахожусь В городе
Мой настрой Хороший
Я слушаю LastFm.Ru
LIci WP - WordPress crossposting plugin
-
Запись понравилась
-
0
Процитировали
-
0
Сохранили
-