форум vBSupport.ru > vBulletin > vBulletin 3.8.x > Хаки, моды и скрипты 3.8
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Gostemilov
Специалист
Default Рандомная шапка форума
6

Суть проста до безобразия - при обновлении страницы изображение шапки произвольно меняется

1. В корне форума создаем каталог, в моем случае headerimages
2. В него кидаем файл rotator.php

PHP Code:
<?php


$folder 
'.';



    
$extList = array();
    
$extList['gif'] = 'image/gif';
    
$extList['jpg'] = 'image/jpeg';
    
$extList['jpeg'] = 'image/jpeg';
    
$extList['png'] = 'image/png';
    


$img null;

if (
substr($folder,-1) != '/') {
    
$folder $folder.'/';
}

if (isset(
$_GET['img'])) {
    
$imageInfo pathinfo($_GET['img']);
    if (
        isset( 
$extListstrtolower$imageInfo['extension'] ) ] ) &&
        
file_exists$folder.$imageInfo['basename'] )
    ) {
        
$img $folder.$imageInfo['basename'];
    }
} else {
    
$fileList = array();
    
$handle opendir($folder);
    while ( 
false !== ( $file readdir($handle) ) ) {
        
$file_info pathinfo($file);
        if (
            isset( 
$extListstrtolower$file_info['extension'] ) ] )
        ) {
            
$fileList[] = $file;
        }
    }
    
closedir($handle);

    if (
count($fileList) > 0) {
        
$imageNumber time() % count($fileList);
        
$img $folder.$fileList[$imageNumber];
    }
}

if (
$img!=null) {
    
$imageInfo pathinfo($img);
    
$contentType 'Content-type: '.$extList$imageInfo['extension'] ];
    
header ($contentType);
    
readfile($img);
} else {
    if ( 
function_exists('imagecreate') ) {
        
header ("Content-type: image/png");
        
$im = @imagecreate (100100)
            or die (
"Cannot initialize new GD image stream");
        
$background_color imagecolorallocate ($im255255255);
        
$text_color imagecolorallocate ($im0,0,0);
        
imagestring ($im255,  "IMAGE ERROR"$text_color);
        
imagepng ($im);
        
imagedestroy($im);
    }
}

?>
В этот же каталог отправлем все изображения шапок.

3. В том месте, где выводится изображение шапки -

PHP Code:
<script type='text/javascript'>  document.write('<div align="left"><a href="http://photoshopia.ru/index.php"><IMG width="'+screen.width+'" border="0" SRC="http://photoshopia.ru/headerimages/rotator.php"></a></div>'); </script> 
Вопрос: а на кой, собственно, скрипт? Ответ. Это *** IE не воспринимает *** указанную в % ширину изображения. То есть, если изображение шириной 2200 пикселов (для форумчан с ба-альшими мониторами) то IE и выведет ее в этом размере (в отличие от любого нормального браузера) и порвет к черту всю верстку. При разрешении 1024 шапка 2000 - круто смотрится, я уверяю.

Так вот этот скрипт определяет разрешение монитора пользователя и явно и жестко прописывает ширину шапки.

Демо, как всегда http://photoshopia.ru/

Обновите страничку несколько раз, все видно. Измените разрешение монитора - опять обновите - результат нагляден.

Мелочь, но я надеюсь - полезная мелочь?
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
GiRassell
Эксперт
 
GiRassell's Avatar
Default
0

Есть готовый продукт для логотипа http://vbsupport.ru/forum/showthread.php?t=45697
 
 
Gostemilov
Специалист
Default
0

Да, но в продукте надо ручками указывать файлы изображений (этот жрет все картинки, что находит в каталоге) и я не уверен насчет IE (кстати, вот как бы поделикатнее отшивать тех, кто пришел на форум в IE6? Ну я ж смотрю статистку, их реально МНОГО! Скрипт написать дело нехитрое, а вот с какой формулировкой, чтоб не отпугнуть от сайта?)

+ в кастомном стиле продукт опять же наверняка придется править..

Хотя - если это кому-то поможет - хорошо. Нет - ну тоже не все так плохо
 
 
StenLi
На доске почёта
Пожизненный блэк
 
banned nax
Default
0

Quote:
Originally Posted by Gostemilov View Post
Да, но в продукте надо ручками указывать файлы изображений (этот жрет все картинки, что находит в каталоге)
А создание и вывод уже существующей картинки:
а) замедляет открытие страницы
б) тормозит сервер

Разве не?
 
 
kerk
k0t
 
kerk's Avatar
Default
0

Quote:
Originally Posted by Gostemilov View Post
в продукте надо ручками указывать файлы изображений (этот жрет все картинки, что находит в каталоге)
а вот это как раз не есть гут, т.к. в каталоге могут быть картинки, совсем не предусмотренные для использования как лого
дальше...

PHP Code:
or die ("Cannot initialize new GD image stream"); 
на тот случай, если все же произошел сбой, то лучше выводить дефолтную картинку, заранее заготовленную, а не пугать узера непонятными надписями =)

дальше...

генерирование картинки на PHP, всегда более ресурсоемкий процесс, чем просто показать готовую из папки на сервере
 

Tags
размер, рандом, шапка


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 09:09 AM.


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...