Главная Мультфильмы Видео Чат Telegram Wareznik Scripter Flash игры
Old Web Старый веб
. Добро пожаловать на old-web.com!
Новое Новости Журнал Форум Продукты Дизайн Гостевая  
Вернуться   Форум о старом интернете > Сайты > Создание сайтов
Регистрация Справка Пользователи Календарь

Создание сайтов Практические вопросы по верстке, шаблонам и инструментам — тут решают конкретные проблемы и дают рабочие советы.

Ответ
 
Опции темы
Старый Вчера, 04:46   #1
Пользователь
 
Аватар для al_soft
 
Регистрация: 18.02.2025
Сообщений: 14
Репутация: пока не определён (0)
По умолчанию Помогите с фотогалерей на PHP

Понадобилось прикрутить к сайту простейшую фотогалерею. Нашел такой предельно простой скрипт:

<?php

// ПУТЬ к папке с изображениями ОТНОСИТЕЛЬНЫЙ
$imgDir = 'img/';

// ИМЯ папки с превьюшками
//(должна находиться внутри папки с изображениями):
$thumbDir = 'thumbs/';

// Получает файлы, расположенные в директории
// @param $path : String - путь к директории с файлами,
// return Array - индексный массив, содержащий файлы
function getFiles(/*string*/$path)
{
// результат выполнения функции is_dir кэшируется,
// поэтому сбрасываем кэш.
clearstatcache();

$files = scandir($path);

for($i = 0, $length = count($files); $i < $length; $i++)
{
// Исключаем из списка директории:
if( is_dir($path.$files[$i]) )
{
unset($files[$i]);
}
}
return $files; //array
}
?>

<!DOCTYPE HTML>
<html lang="ru">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Пример галереи</title>
<style type="text/css">
.small, #full_img{margin:4px; border: solid 1px orange; padding: 5px}
</style>

</head>

<body>
<div >
<p><img id="full_img" src="<?php echo $imgDir.( array_shift( getFiles($imgDir) ) ) ?>" width="400px" height="400px" /></p>
<?php
foreach( getFiles($imgDir) as $file )
{
echo '<img class="small" src="'.$imgDir.$thumbDir.$file.'" width="50px" height="50px" onclick="document.getElementById(\'full_img\').src = \''.$imgDir.$file.'\'" />';
}
?>
</div>
</body>

</html>

Проблема в том, что он работает замечательно, но только на браузерах IE 5, Opera 4 и выше, на IE 4.0 и т.п. при нажатии на миниатюру не отображает картинку, а выдает ошибку "Обьект не поддерживает это свойство или метод". Проблема как я понял в обработке события onclick="document.getElementById(\'full_img\').src = \''.$imgDir.$file.'\'"
но дальше моего разумения не хватает. Можно ли поправить этот скрипт и заставить его работать на 4-м эксплорере и.т.п. браузерах?
al_soft вне форума   Ответить с цитированием
Старый Вчера, 05:48   #2
Олд
 
Аватар для nsfrolov
 
Регистрация: 17.12.2025
Адрес: Брянск
Сообщений: 154
Репутация: скоро придёт к известности (83)
По умолчанию

А если так:

PHP код:
<?php
// ПУТЬ к папке с изображениями ОТНОСИТЕЛЬНЫЙ
$imgDir 'img/';

// ИМЯ папки с превьюшками
//(должна находиться внутри папки с изображениями):
$thumbDir 'thumbs/';

// Получает файлы, расположенные в директории
// @param $path : String - путь к директории с файлами,
// return Array - индексный массив, содержащий файлы
function getFiles(/*string*/$path)
{
// результат выполнения функции is_dir кэшируется,
// поэтому сбрасываем кэш.
clearstatcache();

$files scandir($path);

for(
$i 0$length count($files); $i $length$i++)
{
// Исключаем из списка директории:
if( is_dir($path.$files[$i]) )
{
unset(
$files[$i]);
}
}
return 
array_values($files); //array - переиндексируем для удобства
}
?>
<!DOCTYPE HTML>
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Пример галереи</title>
<style type="text/css">
.small, #full_img{margin:4px; border: solid 1px orange; padding: 5px}
</style>
<script type="text/javascript">
function changeImage(newSrc) {
    var img = null;
    if (document.getElementById) {
        img = document.getElementById('full_img');
    } else if (document.all) {
        img = document.all['full_img'];
    }
    // Для очень старых браузеров, как NN4, можно добавить document.layers, но вероятно не нужно
    if (img) {
        img.src = newSrc;
    }
}
</script>
</head>
<body>
<div>
<p><img id="full_img" src="<?php echo $imgDir.( array_shiftgetFiles($imgDir) ) ) ?>" width="400px" height="400px" /></p>
<?php
foreach( getFiles($imgDir) as $file )
{
echo 
'<img class="small" src="'.$imgDir.$thumbDir.$file.'" width="50px" height="50px" onclick="changeImage(\''.$imgDir.$file.'\')" />';
}
?>
</div>
</body>
</html>
__________________
Мой сайт http://dudu2.ru
Форум.ДуДу2 http://forum.dudu2.ru
nsfrolov на форуме   Ответить с цитированием
Старый Вчера, 06:01   #3
Пользователь
 
Аватар для al_soft
 
Регистрация: 18.02.2025
Сообщений: 14
Репутация: пока не определён (0)
По умолчанию

В IE4 пустая страница, вообще ничего не отображает, в Opera 3.6 и NN4 превьюхи и имедж кажет, но переходов п ощелчку не происходит.
al_soft вне форума   Ответить с цитированием
Старый Вчера, 08:08   #4
Пользователь
 
Аватар для al_soft
 
Регистрация: 18.02.2025
Сообщений: 14
Репутация: пока не определён (0)
По умолчанию

Попробовал по простому по советски, без Java, PHP и всякой автоматизации:

<a href="img/1.jpg" target="my_iframe">1</a>
<a href="img/2.jpg" target="my_iframe">2</a>
<a href="img/3.jpg" target="my_iframe">3</a>

<!-- Iframe с именем "my_iframe" -->
<iframe name="my_iframe" width="500" height="500" style="border:1px solid black;">
</iframe>

В IE4 iframe остается белым - картинка в него не передается, в O и NN - работает, но картинку открывает не на текущей вкладке, а создает новую, что нафиг не нужно.
Во всем что новее - работает как надо.
al_soft вне форума   Ответить с цитированием
Старый Вчера, 15:12   #5
НЕАДЕКВАТНЫЙ
 
Аватар для ququnta
 
Регистрация: 16.08.2024
Адрес: Кинешма
Сообщений: 273
Репутация: скоро придёт к известности (78)
По умолчанию

потому что ie4 гавно.
ququnta вне форума   Ответить с цитированием
Старый Вчера, 15:50   #6
Пользователь
 
Аватар для al_soft
 
Регистрация: 18.02.2025
Сообщений: 14
Репутация: пока не определён (0)
По умолчанию

Цитата:
Сообщение от ququnta Посмотреть сообщение
потому что ie4 гавно.
Исчерпывающее обьяснение...
al_soft вне форума   Ответить с цитированием
Старый Вчера, 16:14   #7
Администратор
 
Аватар для eriko
 
Регистрация: 29.06.2024
Адрес: Живу в своем мирке, который строю для себя.
Сообщений: 1,875
По умолчанию

IE4 с какой операционной идет в комплекте? Я ее в глаза не видел.
__________________
Мой блог: http://erikoblog.ru.
Mail Агент: eriko89@mail.ru || KICQ: 3225525
eriko на форуме   Ответить с цитированием
Старый Вчера, 16:59   #8
Посетитель старой закалки
 
Аватар для bazarzxc
 
Регистрация: 13.04.2025
Адрес: Ленинградская область, Гатчинский район
Сообщений: 591
Репутация: - весьма и весьма положительная личность (167)
По умолчанию

Цитата:
Сообщение от eriko Посмотреть сообщение
IE4 с какой операционной идет в комплекте? Я ее в глаза не видел.
IE4 обычно с первой версии Windows 98
Упоминался в видосе http://retroshow.dudu2.ru/video.php?id=71
__________________
Слава старому вебу!
bazarzxc вне форума   Ответить с цитированием
Старый Вчера, 20:48   #9
НЕАДЕКВАТНЫЙ
 
Аватар для ququnta
 
Регистрация: 16.08.2024
Адрес: Кинешма
Сообщений: 273
Репутация: скоро придёт к известности (78)
По умолчанию

нахуя оно? 5-й ишак вполне умеет в вынь 3.1, а 6-й - в nt4.0
Зачем уж такие древности-то?
ququnta вне форума   Ответить с цитированием
Старый Сегодня, 03:30   #10
Пользователь
 
Аватар для al_soft
 
Регистрация: 18.02.2025
Сообщений: 14
Репутация: пока не определён (0)
По умолчанию

Цитата:
Сообщение от ququnta Посмотреть сообщение
нахуя оно? 5-й ишак вполне умеет в вынь 3.1, а 6-й - в nt4.0
Зачем уж такие древности-то?
По большому счету, только из принципа... Весь сайт у меня сделан на чистом HTML4.0, это соответственно IE4, Opera3.5 и т.д. Скорее всего придется действительно забить на это. А так хотелось аутентичный сайт из 1998 года...
al_soft вне форума   Ответить с цитированием
Ответ



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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Журналы о мобильных устройствах, помогите составить список. РыцаРx Телефоны 2 01.05.2025 21:17
Помогите с выбором движка для форума РыцаРx Создание сайтов 1 14.01.2025 06:56


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


Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot