我想要包含文件,如果存在,则回显文件名,扩展名为1.jpg,但它需要随机分隔,并用这些逗号分隔
(' 1.JPG'' 2.JPG'' 3.JPG'' 4.JPG&#39)
,但是如果某些图片不存在于指定的follder中,则需要手动回显,例如文件夹上只有三个图片,需要像这样
(1.jpg,' 2.jpg',' 3.jpg',' default.jpg')
,希望有人明白我的要求。
答案 0 :(得分:1)
试试这个:
<?php
$images = glob('/images/*.{jpeg,gif,png}', GLOB_BRACE);
shuffle($images);
$out = '(';
foreach($images as $img)
{
$out .= '"';
$out .= file_exists($img) ? $img : 'default.jpg';
$out .= '",';
}
$out .= ')';
echo $out;
?>
答案 1 :(得分:0)
<?php
// set minimum number of images to show
$show_min=4;
// define manual images
$manual[]="1.jpg";
$manual[]="2.jpg";
$manual[]="3.jpg";
$manual[]="4.jpg";
// shuffle images
$images_found = glob("images/bg/*.{jpg,png,gif}", GLOB_BRACE)
shuffle($images_found);
$result = '(';
foreach($images_found as $image)
{
$result.='"' . $image . '",';
}
if (count(images_found) < $show_min)
{
for($i=0;$i<($show_min-count(images_found));$i++)
$result.='"' . $manual[$i] . '",';
}
$result .= ')';
//fix for last comma
$result=str_replace(",)", ")", $result);
echo $result;
?>
希望它有效。