1

我还没有看到这个问题,所以如果是,有人可以重新指导我吗?

我在为使用图像库中的随机图像的 WordPress 主题创建全屏背景时遇到问题。我想写一个可以在多个站点上使用的PHP函数,所以我不能简单地在代码中使用直接路径。它还需要以仅提取上传到该站点的图像的方式在 MultiSite 上工作。这是我正在使用的代码:

我的背景 div 的 HTML

<div id="background" class="background" style="background-image:url(<?php displayBackground();?>);">
</div>

PHP随机化我的图像文件夹

<? php
function displayBackground()
{
$uploads = wp_upload_dir();
$img_dir = ( $uploads['baseurl'] . $uploads['subdir'] );
$cnt = 0;
$bgArray= array();

        /*if we can load the directory*/
if ($handle = opendir($img_dir)) {

    /* Loop through the directory here */
    while (false !== ($entry = readdir($handle))) {

    $pathToFile = $img_dir.$entry;
    if(is_file($pathToFile)) //if the files exists 
    {   

        //make sure the file is an image...there might be a better way to do this
        if(getimagesize($pathToFile)!=FALSE)
        {
            //add it to the array
            $bgArray[$cnt]= $pathToFile;
            $cnt = $cnt+1;

        }

    }   

}   
//create a random number, then use the image whos key matches the number
$myRand = rand(0,($cnt-1)); 
$val = $bgArray[$myRand];

}
closedir($handle);
echo('"'.$val.'"');

}

我知道我的 CSS 标记是正确的,因为如果我给 DIV 一个固定的图像位置,我会得到一个全屏图像。谁能告诉我该怎么做才能解决它?

4

0 回答 0