Как рандомизировать фоновые изображения в PHP?

0

Я следил за этим уроком, но он не работает, вот мой скрипт:

<?php
        function ceklogin(){
            session_start();
            if ($_SESSION['loggedin'] != 1) {
                header("Location: login.php");
                exit;
            }}
        function css(){

          $bg = array('images/angel-beats1.jpg', 'images/angel-beats2.jpg', 'images/angel-beats3.jpg'); // array of filenames

          $i = rand(0, count($bg)-1); // generate random number size of the array
          $selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen

        echo '
        <!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>
        <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>OpenWrt Angel Beats Edition (v1.0)</title>
        <style type="text/css">
        body {
            margin-left: 0px;
            margin-right: 0px;
            background: url(images/<?php echo $selectedBg; ?>) no-repeat;
            background-size:cover;
             }
        </style>
        </head>
        <body> bla bla bla
        </body>
        </html>';
    ?>

Где я неправ? Мои изображения находятся в папке "images" stackoverflow, которая говорит мне, чтобы я добавлял больше деталей, но я думаю, что все, что я могу дать.

  • 0
    У вас уже есть images/ в именах файлов, так что получается images/images/filename.jpg
  • 2
    Когда SO говорит дать больше подробностей - возможно, сообщите нам, что идет не так, что отображается на экране или в вашем журнале ошибок и т. Д.
Показать ещё 2 комментария
Теги:

3 ответа

2
shuffle($bg);

а затем echo $bg[0];

Вы используете сложный код для легкой работы.

  • 0
    Где я должен поставить эти коды?
  • 0
    @hillz вместо: $ bg = array ('images / angel-beats1.jpg', 'images / angel-beats2.jpg', 'images / angel-beats3.jpg'); // массив имен файлов $ i = rand (0, count ($ bg) -1); // генерируем случайный номер размера массива $ selectedBg = "$ bg [$ i]"; // установить переменную, равную которой было выбрано случайное имя файла
0

ОБНОВЛЕНО

@hillz попробуйте этот код.

Я думаю, что вы не вызываете функцию css, и вы пропустили закрывающую скобку функции css в объявлении.

    <?php
        function ceklogin(){
            session_start();
            if ($_SESSION['loggedin'] != 1) {
                header("Location: login.php");
                exit;
            }
        }

        function css(){

          $bg = array('images/angel-beats1.jpg', 'images/angel-beats2.jpg', 'images/angel-beats3.jpg'); // array of filenames

          $i = rand(0, count($bg)-1); // generate random number size of the array
          $selectedBg = "$bg[$i]"; // set variable equal to which random filename was chosen

          return $selectedBg;
        } 

        $bgUrl = css(); 
?>
        <!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>
        <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>OpenWrt Angel Beats Edition (v1.0)</title>
        <style type="text/css">
        body {
            margin-left: 0px;
            margin-right: 0px;
            background: url("<?php echo $bgUrl; ?>") no-repeat;
            background-size:cover;
             }
        </style>
        </head>
        <body> bla bla bla
        </body>
        </html>';
  • 0
    это все еще не работает
0

У вас не должно быть php echo больше php-кода. Вы должны сделать это вместо этого:

    echo '
    <!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>
    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>OpenWrt Angel Beats Edition (v1.0)</title>
    <style type="text/css">
    body {
        margin-left: 0px;
        margin-right: 0px;
        background: url(images/';

    echo $selectedBg;
    echo ') no-repeat;
        background-size:cover;
         }
    </style>
    </head>
    <body> bla bla bla
    </body>
    </html>';

Ещё вопросы

Сообщество Overcoder
Наверх
Меню