Новый фоновый рисунок на каждой странице перезагрузить - PullRequest
2 голосов
/ 04 августа 2009

Как я могу отображать новое фоновое изображение при каждом обновлении страницы на веб-сайте (используя Wordpress, если это поможет)? Я также хотел бы принять во внимание различные разрешения экрана и правильную обработку для этого. Любая помощь будет принята с благодарностью.

Ответы [ 6 ]

1 голос
/ 04 августа 2009

Просто имейте свой собственный скрипт, который случайным образом возвращает изображения при каждом обращении к нему. У меня есть один, который я написал в C по указанному ниже URL, который каждый раз возвращает разные картинки.

http://www.scale18.com/cgi-bin/gpic

1 голос
/ 04 августа 2009

Вы видели эту страницу в кодексе WordPress?

Объясняет, как вращать изображение заголовка. Не должно быть слишком сложно адаптировать его к вашим потребностям.

0 голосов
/ 04 августа 2009

Это то, что я использую с Wordpress для случайного поворота изображений заголовков на моем сайте.

Кто-то еще написал код, и я не помню, кто. Поместите приведенный ниже код php в файл с именем rotate.php, а затем поместите rotate.php в каталог изображений, которые необходимо повернуть (т. Е. «Headerimages»), и rotate.php будет извлекать из них. Вызовите rotate.php из таблицы стилей CSS в любом формате DIV, который используется для вашего headerimage.

Я не понимаю, что вы имеете в виду, имея возможность обрабатывать различные разрешения экрана. Разрешения экрана конечного пользователя?

<?php


/*

    Call this way: <img src="http://example.com/rotate.php">


    Set $folder to the full path to the location of your images.
    For example: $folder = '/user/me/example.com/images/';
    If the rotate.php file will be in the same folder as your
    images then you should leave it set to $folder = '.';

*/


    $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( $extList[ strtolower( $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( $extList[ strtolower( $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 (100, 100)
            or die ("Cannot initialize new GD image stream");
        $background_color = imagecolorallocate ($im, 255, 255, 255);
        $text_color = imagecolorallocate ($im, 0,0,0);
        imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
        imagepng ($im);
        imagedestroy($im);
    }
}

?>
0 голосов
/ 04 августа 2009

Чтобы определить разрешение экрана, вы можете использовать клиентский JavaScript

screen.height
screen.width

Чтобы отобразить другое изображение, вы, вероятно, могли бы использовать сценарий для генерации случайного числа и отображения изображения, связанного с ним ...? Вы можете сохранить «текущий» образ в сеансе и просто проверять каждый раз, когда вы генерируете новое случайное число, чтобы оно не отображало последнее ....

0 голосов
/ 04 августа 2009

Вы можете генерировать его в реальном времени с библиотекой GD

0 голосов
/ 04 августа 2009

JavaScript, вероятно, является лучшим выбором для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...