我想更改一些php代碼以從指定目錄中選擇一個隨機圖像,而不是當前選擇的同一個默認圖像。這是一段代碼,目前選擇默認的備用圖片 - 如果沒有可用的圖像:從文件夾中選擇一個隨機圖像,而不是相同的默認佔位符圖像
<?php
\t $postCover = '';
\t if ($post->hasImage()) {
\t \t $postCover = $post->getImage($photoSize);
\t }
\t if (!$post->hasImage() && $params->get('photo_legacy', true)) {
\t \t $postCover = $post->getContentImage();
\t }
\t if (!$postCover && $params->get('show_photo_placeholder', false)) {
\t \t $postCover = $post->getImage($photoSize, true);
\t }
\t ?>
\t <?php if ($postCover) { ?>
\t <div class="eb-mod-thumb<?php if ($photoAlignment) { echo " is-" . $photoAlignment; } ?> <?php if (isset($photoLayout->full) && $photoLayout->full) { echo "is-full"; } ?>">
\t \t <?php if (isset($photoLayout->crop) && $photoLayout->crop) { ?>
<a href="<?php echo $post->getPermalink();?>" class="eb-mod-image-cover"
style="
background-image: url('<?php echo $postCover;?>');
<?php if (isset($photoLayout->full) && $photoLayout->full) { ?>
width: 100%;
<?php } else { ?>
width: <?php echo $photoLayout->width;?>px;
<?php } ?>
height: <?php echo $photoLayout->height;?>px;"
></a>
\t \t <?php } else { ?>
<a href="<?php echo $post->getPermalink();?>" class="eb-mod-image"
style="
<?php if (isset($photoLayout->full) && $photoLayout->full) { ?>
width: 100%;
<?php } else { ?>
width: <?php echo (isset($photoLayout->width)) ? $photoLayout->width : '260';?>px;
<?php } ?>"
>
<img src="<?php echo $postCover;?>" alt="<?php echo $post->title;?>" />
</a>
\t \t <?php } ?>
\t </div>
<?php } ?>
我覺得這是此行中我需要改變:
<img src="<?php echo $postCover;?>" alt="<?php echo $post->title;?>" />
我在這裏找到了這個解決方案:PHP pull random image from folder
<?php
$dir = "images/";
$images = scandir($dir);
$i = rand(2, sizeof($images)-1);
?> <img src="images/<?php echo $images[$i]; ?>" alt="" />
這似乎是能夠做我想做的,但我不知道該如何在我提供了(沒有PHP的經驗,但在努力學習)的代碼合併它(或地方)。
任何人都可以幫助我嗎?
親切的問候
梅爾
嗨FareedMN,我想申請這個(謝謝),但我不能得到它的工作。我創建了一個名爲newimage的文件夾,並在其中放置了一些隨機圖像,然後在我的代碼中添加了以下內容: $ path ='/ images/rsceb/260x150/modules/mod_responsive_scroller_for_easyblog/assets/images/fallback.jpg「; if (stristr($ postCover,$ path)!== false){$ dir =「images/newimage /」; $ images = scandir($ dir); $ i = rand(2,sizeof($ images)-1); $ postCover =「images /".$ images [$ i];} 但它只是顯示空白圖像上方的代碼 – Malc