Три меняющиеся картинки
Подскажите пожалуйста как сделать, чтобы наверху страницы сайта было три картинки, которые обновляются при каждом обновлении страницы?
Образец здесь http://gunbid.info/index.php? Нашел много скриптов, но для одной картинки, а нужно три. Уверен, что это многим пригодится. Если можно - дайте пожалуйста код скрипта или ссылку на него. Спасибо. |
Я написал код (если я правильно тебя понял) решения на 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> у меня работало если что пиши может где ошибку просто здесь в тексте сделал если надо еще и тексты добавлять к картинкам напиши и укажи где хранятся эти тексты в файлах в одном файле или в базе данных |
Спасибо, сейчас попробую.
|
Вставил весь код в <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+ картинок? |
так и не случится потому что картинки должны находится в одной из папок на твоем сайте, я то не думал что картинки лежат на стороннем сайте, тогда нужно другое решение. А копировать картинки себе на сайт?
нет прописывать адреса не надо, т.к. код их ищет сам не зная имен файлов, тебе нужно другое решение тогда |
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 тоже без результата. |
я так понимаю на странице 2.htm размещен мой код, вствавь его сюда пожалуйста, а еще вероятно что код php просто не работает в файлах типа html и htm, обычно по умолчанию это отключено, я обращался на хостинг с просьбой включить поддержу php кода на страницах html, попробуй узнать у техподдержи
более вероятно что проблема в этом |
Сделал, не работает
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> |
когда переменная $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 должны находится в одной директории |
Сделал. Ничего
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 |
переменная $url должна равняться "images" а у тебя $url = "http://ua-ru.com/images/4000-4999/4476";
|
и вообще открываю исходный код твоей страницы в браузере а там php код как есть пишет а это значит что он расценивается как обычный текст значит php не работает как еще такое объяснить
|
Это мой сайт и мой сервер.
Я могу положить файлы в любое место. Такой стиль сайта - вместе с картинками лежит .php файл и уже 5 лет как работают. Так что же нужно сделать? Я готов на любые эксперименты. |
В каждой странице больше десятка .php файлов и все работают.
причина вероятно в другом. |
должно быть
http://ua-ru.com/3.php http://ua-ru.com/images/4000-4999/4476 тогда $url ="images/4000-4999/4476" и все должно работать |
открой исходный код своей страницы в браузере
если ты видишь там php код значит php не работает |
сделай так
страница http://ua-ru.com/images/4000-4999/4476/3.php картинки http://ua-ru.com/images/4000-4999/4476/images/ тогда $url ="images" все должно работать |
Так у меня же так и сделано.
страница http://ua-ru.com/images/4000-4999/4476/3.php картинки http://ua-ru.com/images/4000-4999/4476/images/ Кстати, весь ваш код я положил в отдельный .php файл - сейчас он не будет виден как обычный текст. А другой .php в этой же папке работает http://ua-ru.com/images/4000-4999/4476/1.php |
открой код исправь строку $url = "http://ua-ru.com/images/4000-4999/4476"; // адрес папки где хранятся картинки для выборки
на $url = "images"; // адрес папки где хранятся картинки для выборки |
Исправил - ничего.
$url = "http://ua-ru.com/images/4000-4999/4476/images/"; |
да нет же нужно просто $url="images"
|
вот щас php работает и не отображается в исходном коде :)
осталось путь исправить |
Попробовал
$url = "images"; вместо полного адреса - ничего. Кстати в .php нужно включать? <td style="width:33%; text-align:center;"><img src="<?=$url?>/<?=$file[$i]?>" id="pic<?=$i?>"></td> <? $i++;} } ?> Или это идет вместе с файлом? Попробовал оба варианта - без результата. М.б. весь код поможет разобратся: http://ua-ru.com/images/4000-4999/4476/3.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled 2</title> </head> <body> <div style="position:absolute;left:50%;margin-left:-500px;margin-top:320px;width:1000px" id="ThreePictures"> <table style="width:100%"> <tr> <?php include("../../../other/threeImages.php"); ?> </tr> </table> </div> </body> </html> threeImages.php: <? $url = "images"; // адрес папки где хранятся картинки для выборки -они в http://ua-ru.com/images/4000-4999/4476/images/ 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++;} } ?> |
да все нужно включать в php файл, а у тебя опять php код как текст показывается, что у тебя там никак не могу понять, скопировал твой код вставил себе все работает, блин я не знаю честно может сервер мозги е...
|
Но код , который я сейчас показал, правильный?
Если сервер халтурит, то почему http://ua-ru.com/images/4000-4999/4476/1.php работает? |
а у тебя тут include
а ты уверен что "../../../other/threeImages.php" это верный адрес? может вставишь код в файл 3.php у меня все работает как ни крути |
да 1.php работает значит ошибки в прописании путей к файлам и сервер просто не выдает репорт о них
|
возможно путь такой "../../../../other/threeImages.php" если папка other имеет адрес http://ua-ru.com/other
да точно посчитай слэши их четыре |
Вставил весь код в страницу. без результата
http://ua-ru.com/images/4000-4999/4476/4.php Все слэши нормальные - такие же как и в 1.php - они лежат рядом. |
зашел в папку other все файлы в исходном коде нормально а threePictures php код как текст смотри сам
|
Вижу, и это странно.
А не лишние ли <? в начале кода? Мне кажется, что они нужны если этот код используется среди html кода. |
У меня все .php без них.
Не получается ли двойной код? Кстати, если весь php код виден как текст - это говорит что со слэшами все нормально. А вот с его включением проблемы. |
дружище я воссоздал такую структуру на своем сайте
http://lepka-peterburg.ru/images/4000-4999/4476/1.php картинки лежал в http://lepka-peterburg.ru/images/4000-4999/4476/images убедись сам как работает |
возможно лишние два раза <? <? это ошибка
|
использовал код с твоей страницы как видишь работает
|
Да, у вас работает.
Но в source code у вас 3 tables, в моем коде один. |
:) так там же в php коде цикл for который выполняется три раза отсюда и берутся три элементa td таблицы, другое дело когда цикл не выполняется потому что php не работает :)
|
Что же делать?
|
Хорошо, начну все сначала.
Дайте пожалуйста обе части вашего кода. |
обратись в техподдержу своего хостинга опиши проблему дескать смотрите сами дай ссылку на страницу почему так, я так делал часто, там люди умные сидят не то что мы с тобой тебе подскажут, мне всегда помогало
|
Часовой пояс GMT +3, время: 13:45. |