Fexclub.su [Архив] Технологии Веб-программирование Поиск скриптов и скинов

Рандомное лого

Wawtman 11.08.2013, 04:54
Нужно чтобы главное лого на сайте загружалось рандомно, т.е например будет загружать одно из трех лого при повторном заходе на сайт.Типо как на .... .Если не туда написал, сильно не пинайте:).
Mc2j 11.08.2013, 06:00
Генерируешь рендомное число
Потом
echo "<img src = image".$random.".jpg>";
Заранее кинуть в корень логотипа image1.jpg, image2.jpg...
PAV 11.08.2013, 19:52
Вот состряпал, просто тестовый примерчик:
<?php
@session_start();

$logo_arr = array ( "logo1", "logo2", "logo3", "logo4", "logo5",
"logo6", "logo7", "logo8", "logo9", "logo10"
);

function ret_logoname($arr, $type=1) {
if (is_array($arr)) {
if ($type) {
if (isset($_SESSION['b_logo_n']) && $_SESSION['b_logo_n']>=0) {
//if (isset($arr[$_SESSION['b_logo_n']+1])) {
if ($_SESSION['b_logo_n']<(count($arr)-1)) {
$_SESSION['b_logo_n']++;
return $arr[$_SESSION['b_logo_n']];
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
return $arr[array_rand($arr)];
}
}
}

function ret_randnum($min=0, $max=0) {
//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
$min=intval($min);
$max=intval($max);
if (!$min && !$max) {
return rand();
} else return rand($min, $max);
}

echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br /><br />";

echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br /><br />";

//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br /><br />";

echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" />";

//@session_destroy();
//@session_unset();
?>

Но я так понял на сайте - DLE:
Соотвественно, примеры:
1. Простой пример.
1.1. В index.php, после строчки:
$tpl->set('{topnews}',$topnews);
Вставить:
$tpl->set('{randomnum}',rand(1,10)); // Генерирует случайное число от 1 до 10

1.2. В main.tpl, вставить:
<img src="{THEME}/images/logo{randomnum}.jpg" width="970" height="200" alt="Logo" />


2. Пример посложнее (с массивом и с возможным использованием сессий).
2.1. В index.php, после строчки:
$tpl->set('{topnews}',$topnews);
Вставить:
$logo_arr = array ( "logo1", "logo2", "logo3", "logo4", "logo5",
"logo6", "logo7", "logo8", "logo9", "logo10"
);

$tpl->set('{logonames}',ret_logoname($logo_arr)); // Возвращает имя из массива, с применением сессий
$tpl->set('{logonamer}',ret_logoname($logo_arr,0)); // Возвращает имя из массива, рандомно (случайным образом)
2.2. В engine/modules/functions.php, перед:
?>
Вставить:
function ret_logoname($arr, $type=1, $def="") {
if (is_array($arr)) {
if ($type) {
if (isset($_SESSION['b_logo_n']) && $_SESSION['b_logo_n']>=0) {
//if (isset($arr[$_SESSION['b_logo_n']+1])) {
if ($_SESSION['b_logo_n']<(count($arr)-1)) {
$_SESSION['b_logo_n']++;
return $arr[$_SESSION['b_logo_n']];
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
return $arr[array_rand($arr)];
}
} else return $def;
}

2.3. В main.tpl, вставить:
либо
<img src="{THEME}/images/{logonames}.jpg" width="970" height="200" alt="Logo" />
либо
<img src="{THEME}/images/{logonamer}.jpg" width="970" height="200" alt="Logo" />

либо, если в массиве указанно полные имена файлов (например: "logo1.jpg", "logo2.png"), то:
<img src="{THEME}/images/{logonames}" width="970" height="200" alt="Logo" />
или
<img src="{THEME}/images/{logonamer}" width="970" height="200" alt="Logo" />
PAV 11.08.2013, 19:52
Вот состряпал, просто тестовый примерчик:

<?php
@session_start();

$logo_arr = array ( "logo1", "logo2", "logo3", "logo4", "logo5",
"logo6", "logo7", "logo8", "logo9", "logo10"
);

function ret_logoname($arr, $type=1) {
if (is_array($arr)) {
if ($type) {
if (isset($_SESSION['b_logo_n']) && $_SESSION['b_logo_n']>=0) {
//if (isset($arr[$_SESSION['b_logo_n']+1])) {
if ($_SESSION['b_logo_n']<(count($arr)-1)) {
$_SESSION['b_logo_n']++;
return $arr[$_SESSION['b_logo_n']];
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
return $arr[array_rand($arr)];
}
}
}

function ret_randnum($min=0, $max=0) {
//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
$min=intval($min);
$max=intval($max);
if (!$min && !$max) {
return rand();
} else return rand($min, $max);
}

echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr,0)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br /><br />";

echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br />";
echo ret_logoname($logo_arr)."<br /><img scr=\"/templates/Black/images/".ret_logoname($logo_arr,0)."\" alt=\"\" /><br /><br />";

//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br />";
$rand = rand(1,15);
echo $rand."<br /><img scr=\"/templates/Black/images/".$rand."\" alt=\"\" /><br /><br />";

echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" /><br />";
echo ret_randnum(1,15)."<br /><img scr=\"/templates/Black/images/".ret_randnum(1,15)."\" alt=\"\" />";

//@session_destroy();
//@session_unset();
?>

Но я так понял на сайте - DLE:
Соотвественно, примеры:
1. Простой пример.
1.1. В index.php, после строчки:

$tpl->set('{topnews}',$topnews);
Вставить:

$tpl->set('{randomnum}',rand(1,10)); // Генерирует случайное число от 1 до 10

1.2. В main.tpl, вставить:

<img src="{THEME}/images/logo{randomnum}.jpg" width="970" height="200" alt="Logo" />


2. Пример посложнее (с массивом и с возможным использованием сессий).
2.1. В index.php, после строчки:

$tpl->set('{topnews}',$topnews);
Вставить:

$logo_arr = array ( "logo1", "logo2", "logo3", "logo4", "logo5",
"logo6", "logo7", "logo8", "logo9", "logo10"
);

$tpl->set('{logonames}',ret_logoname($logo_arr)); // Возвращает имя из массива, с применением сессий
$tpl->set('{logonamer}',ret_logoname($logo_arr,0)); // Возвращает имя из массива, рандомно (случайным образом)
2.2. В engine/modules/functions.php, перед:

?>
Вставить:

function ret_logoname($arr, $type=1, $def="") {
if (is_array($arr)) {
if ($type) {
if (isset($_SESSION['b_logo_n']) && $_SESSION['b_logo_n']>=0) {
//if (isset($arr[$_SESSION['b_logo_n']+1])) {
if ($_SESSION['b_logo_n']<(count($arr)-1)) {
$_SESSION['b_logo_n']++;
return $arr[$_SESSION['b_logo_n']];
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
@session_register('b_logo_n');
$_SESSION['b_logo_n']=0;
return $arr[0];
}
} else {
//Замечание: Начиная с PHP 4.2.0, больше нет необходимости инициализировать генератор случайных чисел функциями srand() или mt_srand(), поскольку теперь это происходит автоматически.
//srand((float) microtime() * 1******0);
return $arr[array_rand($arr)];
}
} else return $def;
}

2.3. В main.tpl, вставить:
либо

<img src="{THEME}/images/{logonames}.jpg" width="970" height="200" alt="Logo" />
либо

<img src="{THEME}/images/{logonamer}.jpg" width="970" height="200" alt="Logo" />

либо, если в массиве указанно полные имена файлов (например: "logo1.jpg", "logo2.png"), то:

<img src="{THEME}/images/{logonames}" width="970" height="200" alt="Logo" />
или

<img src="{THEME}/images/{logonamer}" width="970" height="200" alt="Logo" />
Похожие темы
Лого для клана
Лого для кланов
FAQ: Как сделать цветное лого в CS 1.5
Лого для контр-страйк 1.6!!
Нужны эмблемки, символика, лого боёв без правил Pride, M-1, UFC