nike640
имею html страницу
в ней значения
<A HREF="http://www.site.ru/{макрос_1_300}.jpg">
<img src="http://www.site.ru/22/{макрос_1_300}.jpg"></a>
специальный скрипт вставляет произвольные значения от 1 до 300 {макрос_1_300}.
Мне нужно чтобы в передах данной ссылки выдавались одинаковые цифры.
например так:
<A HREF="http://www.site.ru/55.jpg">
<img src="http://www.site.ru/22/55.jpg" ></a>
сам скрипт этого не умеет.
предложили вставить в html код php
после тега <body>
<?
$r1 = {RAND-1-9676}; ---- макрос случайного числа
$r2 = {RAND-1-9676};
$r3 = {RAND-1-9676};
$r4 = {RAND-1-9676};
$r5 = {RAND-1-9676};
$r6 = {RAND-1-9676};
$r7 = {RAND-1-9676};
$r8 = {RAND-1-9676};
$r9 = {RAND-1-9676};
?>
после чего код куда выставляется картинка выглядит так
<a href="http://www.site.ru/<?=$r1;?>.jpg" ><img src="http://www.site.ru/<?=$r1;?>.jpg" ></a>
<div><a href="http://www.site.ru/<?=$r2;?>.jpg"><img src="http://www.site.ru/<?=$r2;?>.jpg" ></a></div>
и т.д.
.htaccess в корень дора позволяющий обрабатывать php в html страницах.
PHP код:
AddType application/x-httpd-php .php .htm .html .phtml
idk2045
nike640 писал:
Мне нужно чтобы в передах данной ссылки выдавались одинаковые цифры.
например так:
<A HREF="http://www.site.ru/55.jpg">
<img src="http://www.site.ru/22/55.jpg" ></a>
тебе нужен рандом 1..300, но одинаковый для всей страницы?
если да, то {макрос_1_300} может выглядеть так:
Код:
crc32($_SERVER['REQUEST_URI']) % 300;
ПС:
кажется понял)
Код:
<a href="http://www.site.ru/<?=(crc32($_SERVER['REQUEST_URI'].'1') % 300)?>.jpg" ><img src="http://www.site.ru/<?=(crc32($_SERVER['REQUEST_URI'].'1') % 300)?>.jpg" ></a>
<a href="http://www.site.ru/<?=(crc32($_SERVER['REQUEST_URI'].'2') % 300)?>.jpg" ><img src="http://www.site.ru/<?=(crc32($_SERVER['REQUEST_URI'].'2') % 300)?>.jpg" ></a>
freeek
Код:
$links = array();
$used = array();
//кол-во ссылок которое нужно сгенерировать
$limit = 3;
while ( --$limit >= 0 ) {
//случайное число
$rand = mt_rand( 1, 300 );
if ( isset($used[$rand]) ) {
$limit += 1;
continue;
}
$used[$rand] = true;
$links[] = '<a href="http://www.site.ru/' . $rand . '.jpg" ><img src="http://www.site.ru/' . $rand . '.jpg" /></a>';
}
//здесь можно посмотреть результат
echo '<pre>';
echo htmlspecialchars( print_r($links, true) );
echo '</pre>';
я как понял на странице несколько ссылок в которых a href и сам тег img ссылаются на одно и то же имя
сгенерировать сразу все ссылки, то кол-во какое надо и потом расставить в странице там где надо
расставлять так:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
<title>Rand</title>
</head>
<body>
<?php
$links = array();
$used = array();
$limit = 3;
while ( --$limit >= 0 ) {
$rand = mt_rand( 1, 300 );
if ( isset($used[$rand]) ) {
$limit += 1;
continue;
}
$used[$rand] = true;
$links[] = '<a href="http://www.site.ru/' . $rand . '.jpg" ><img src="http://www.site.ru/' . $rand . '.jpg" ></a>';
}
?>
<ul>
<li><?=$links[0]?></li>
<li><?=$links[1]?></li>
<li><?=$links[2]?></li>
</ul>
</body>
</html>
счёт $links начинается с 0
вот примерно так, если я правильно понял, возможно есть более изящное решение