php包含图像随机,回声和逗号分隔?

时间:2015-01-02 20:30:31

标签: php include

我想要包含文件,如果存在,则回显文件名,扩展名为1.jpg,但它需要随机分隔,并用这些逗号分隔

  

(' 1.JPG'' 2.JPG'' 3.JPG'' 4.JPG&#39)

,但是如果某些图片不存在于指定的follder中,则需要手动回显,例如文件夹上只有三个图片,需要像这样

  

(1.jpg,' 2.jpg',' 3.jpg',' default.jpg')

,希望有人明白我的要求。

2 个答案:

答案 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;

?>

希望它有效。