Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Три меняющиеся картинки (https://javascript.ru/forum/project/8341-tri-menyayushhiesya-kartinki.html)

viktod 20.03.2010 05:51

Три меняющиеся картинки
 
Подскажите пожалуйста как сделать, чтобы наверху страницы сайта было три картинки, которые обновляются при каждом обновлении страницы?
Образец здесь
http://gunbid.info/index.php?
Нашел много скриптов, но для одной картинки, а нужно три.
Уверен, что это многим пригодится.
Если можно - дайте пожалуйста код скрипта или ссылку на него.
Спасибо.

bushstas 20.03.2010 07:51

Я написал код (если я правильно тебя понял) решения на PHP т.к. тебе динамически не надо обновлять картинки а только при загрузке выбирать 3 случайные

<div style="position:absolute;left:50%;margin-left:-500px;margin-top:320px;width:1000px" id="ThreePictures">
<table style="width:100%">
<tr>

<?

$url = "pictures/catalog"; // адрес папки где хранятся картинки для выборки
if (is_dir($url)) { // далее цикл для поиска всех картинок в указанной папке
if ($dir = opendir($url)) {
$i=0;
$allPictures=Array();
while (false !== ($file = readdir($dir))){

	if ($file != "." && $file != "..") {

			$a=pathinfo($file);
			if ($a['extension']=="jpg"){$i++; // здесь можно указать и другие типы файлов типа png, gif и т.п.
			$allPictures[$i]=$file;
		}	 
	}
}
		$total=$i;
		closedir($dir);
		
	}
}

// далее выбираем случайные 3 штуки (можно хоть сколько) и выводим их в таблице
$i=1;
while($i<=3){
$n=rand(1,$total);
$file[$i]=$allPictures[$n];

// здесь проверяем не выбрал ли эту картинку ранее вобщем чтоб не было повторений
$the_same_is_found=0;
for ($ii=1; $ii<$i; $ii++){
if ($file[$i]==$file[$ii]){$the_same_is_found=1;$ii=$i;}
}

if($the_same_is_found==0){
?>

<td style="width:33%; text-align:center;"><img src="<?=$url?>/<?=$file[$i]?>" id="pic<?=$i?>"></td>
<?
$i++;}
}
?>

</tr>
</table>
</div>


у меня работало если что пиши может где ошибку просто здесь в тексте сделал
если надо еще и тексты добавлять к картинкам напиши и укажи где хранятся эти тексты в файлах
в одном файле или в базе данных

viktod 20.03.2010 17:42

Спасибо, сейчас попробую.

viktod 20.03.2010 18:09

Вставил весь код в <body>, дал адрес с картинками $url = "http://ua-ru.com/images/4000-4999/4476"; // адрес папки где хранятся картинки для выборки, опубликовал на сервере на своем сайте
- и ничего не случилось - пустой лист.
http://ww2army.com/1.htm
В папке лежит 10 .jpg картинок
http://ua-ru.com/images/4000-4999/4476/1.jpg
Что же не так?
Может быть нужно прописывать конкретные адреса всех 50+ картинок?

bushstas 21.03.2010 11:32

так и не случится потому что картинки должны находится в одной из папок на твоем сайте, я то не думал что картинки лежат на стороннем сайте, тогда нужно другое решение. А копировать картинки себе на сайт?
нет прописывать адреса не надо, т.к. код их ищет сам не зная имен файлов, тебе нужно другое решение тогда

viktod 21.03.2010 18:16

1. Переделал. Опять пустой лист
http://ua-ru.com/2.htm
Картинки в http://ua-ru.com/images/4000-4999/4476
Их видно по
http://ua-ru.com/images/4000-4999/4476/1.jpg
2. Положил код непоспедственно к картинкам
http://ua-ru.com/images/4000-4999/4476/2.htm
тоже без результата.

bushstas 21.03.2010 18:25

я так понимаю на странице 2.htm размещен мой код, вствавь его сюда пожалуйста, а еще вероятно что код php просто не работает в файлах типа html и htm, обычно по умолчанию это отключено, я обращался на хостинг с просьбой включить поддержу php кода на страницах html, попробуй узнать у техподдержи
более вероятно что проблема в этом

viktod 21.03.2010 18:33

Сделал, не работает
http://ua-ru.com/images/4000-4999/4476/3.php
Да, в 3.php ваш код.
Кстати, .php на сервере работает
http://ua-ru.com/images/4000-4999/4476/1.php
Весь код:

<body>
<div style="position:absolute;left:50%;margin-left:-500px;margin-top:320px;width:1000px" id="ThreePictures">
<table style="width:100%">
<tr>

<?

$url = "http://ua-ru.com/images/4000-4999/4476"; // адрес папки где хранятся картинки для выборки
if (is_dir($url)) { // далее цикл для поиска всех картинок в указанной папке
if ($dir = opendir($url)) {
$i=0;
$allPictures=Array();
while (false !== ($file = readdir($dir))){

if ($file != "." && $file != "..") {

$a=pathinfo($file);
if ($a['extension']=="jpg"){$i++; // здесь можно указать и другие типы файлов типа png, gif и т.п.
$allPictures[$i]=$file;
}
}
}
$total=$i;
closedir($dir);

}
}

// далее выбираем случайные 3 штуки (можно хоть сколько) и выводим их в таблице
$i=1;
while($i<=3){
$n=rand(1,$total);
$file[$i]=$allPictures[$n];

// здесь проверяем не выбрал ли эту картинку ранее вобщем чтоб не было повторений
$the_same_is_found=0;
for ($ii=1; $ii<$i; $ii++){
if ($file[$i]==$file[$ii]){$the_same_is_found=1;$ii=$i;}
}

if($the_same_is_found==0){
?>

<td style="width:33%; text-align:center;"><img src="<?=$url?>/<?=$file[$i]?>" id="pic<?=$i?>"></td>
<?
$i++;}
}
?>

</tr>
</table>
</div>
</body>

bushstas 21.03.2010 23:02

когда переменная $url указана как "http://......" это не работает, и когда исполняемый php файл или по-другому страница на которой находится данный код и сами картинки расположены в одной папке тоже не работает, не важно где расположена страница главное чтобы в том же месте была папка с картинками допустим http://ua-ru.com/images/4000-4999/4476/3.php это адрес твоей страницы тогда нужно чтобы картинки находились по такому адресу http://ua-ru.com/images/4000-4999/4476/images тогда $url будет равняться "images" понимаешь

вобщем создай папку в том же месте где и файл 3.php или какой там у тебя назови ее как хочешь и имя этой папки и будет $url, и там должны быть те самые картинки

просто я не совсем понимаю стркутуру твоего сайта, это вообще твой сайт????
или ты пытаешься загружать к себе на страницу картинки с этого самого ua-ru???

и еще images/4000-4999/4476/3.php выглядит странно в папке с картинками или в ее подпапках не нужно никаких php файлов файл php и папка images должны находится в одной директории

viktod 21.03.2010 23:12

Сделал. Ничего
http://ua-ru.com/images/4000-4999/4476/3.php
Картинки переложил в
http://ua-ru.com/images/4000-4999/4476/images
и они отзываются
http://ua-ru.com/images/4000-4999/4476/images/1.jpg


Часовой пояс GMT +3, время: 02:47.