好吧,在我解决问题的时候,我已经重复了几次这个问题。所以,我有一个目录images
。它包含66个子目录,这些子目录遵循date_filenumber
(YYYYMMDD_1234
)格式并包含图像,以及少数其他子目录。我想得到66,随机选择其中一个,然后将其图像的路径插入HTML。我几乎就在那里:
PHP
$A = glob('images/????????_????');
$B = array_rand($A);
$path = ($A[$B]).'/1x.jpg'
HTML
<img src="<?php echo $path;?>">
但这给了我<img src="images/YYYYMMDD_1234/1x.jpg"
。我想要<img src="YYYYMMDD_1234/1x.jpg">
。
我被困的地方。想法?
答案 0 :(得分:2)
glob()
使用GLOB_ONLYDIR
的目录(如果可能存在文件),然后使用preg_grep()
<{1}}排除包含:< / p>
PREG_GREP_INVERT
如果以后您添加了其他您不想要的目录,那么只获取与您的命名模式匹配的目录:
$dirs = preg_grep('/includes/', glob('images/*', GLOB_ONLYDIR), PREG_GREP_INVERT);
或者您的简单模式:
$dirs = preg_grep('/\d{8}_\d{4}$/', glob('images/*', GLOB_ONLYDIR));
答案 1 :(得分:0)
使用$VAR1 = [
{
'value' => {
'a' => 'd',
'b' => 'e',
'c' => 'f'
}
},
{
'value' => {
'a' => 'g',
'b' => 'h',
'c' => 'x'
}
}
];
和glob()
:
substr()