Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php包含图像随机、回音和逗号分隔?_Php_Include - Fatal编程技术网

php包含图像随机、回音和逗号分隔?

php包含图像随机、回音和逗号分隔?,php,include,Php,Include,我希望包含文件,如果存在,则使用扩展名(如1.jpg)回显文件名,但它需要随机使用逗号分隔,如下所示 ('1.jpg'、'2.jpg'、'3.jpg'、'4.jpg') ,但如果指定的文件夹中不存在某些图片,则需要手动回显,例如,如果文件夹中只有三个图片,则需要如下所示 (1.jpg、'2.jpg'、'3.jpg'、'default.jpg') ,希望有人能理解我的要求。试试这个: <?php $images = glob('/images/*.{jpeg,gif,png}', GLOB

我希望包含文件,如果存在,则使用扩展名(如1.jpg)回显文件名,但它需要随机使用逗号分隔,如下所示

('1.jpg'、'2.jpg'、'3.jpg'、'4.jpg')

,但如果指定的文件夹中不存在某些图片,则需要手动回显,例如,如果文件夹中只有三个图片,则需要如下所示

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

,希望有人能理解我的要求。

试试这个:

<?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;

?>

包含来自何处的文件?你能分享你尝试过但没有成功的东西吗?从$dir='images/bg/'文件夹;我不明白。1,2,3来自何处?显示文件夹中的内容的“真实”示例,以及针对该文件夹的“各种”列表希望看到的内容。解释为什么“1.jpg”的“文件名”?我没有示例,但我可以解释,我需要将文件夹中的所有图像放在一起,并将文件随机化,用逗号分隔,如果该文件夹中不存在图像,则回显此1.jpg“,”2.jpg“,”3.jpg“,”4.jpg这将不起作用,因为我想将所有位于下面的图像放在一起,而不仅仅是4,并且需要加入随机化。谢谢你做了一些编辑,现在就试试。兄弟,这不是我想要的。看看这个,希望你们能理解我,谢谢你们:$dir'images/bg'以随机模式回显文件夹中的所有文件,如果找不到任何文件,回显'1.jpg,2.jpg,3.jpg'完成。嘿,兄弟,这几乎奏效了,但如果文件夹中没有任何文件,只需向我显示一条消息。谢谢检查数组是否为空,
if(empty($images))echo“Folder is empty”我已将$show_min添加到更多flex中。
<?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;

?>