[英]preg_match to find images with specific names
我正在使用此代码查找名称为begin thumb_的所有图像
for ($i=0; $i<count($files); $i++) {
$pattern = '/thumb_[\w\-]+\.(jpg|png|gif|jpeg)/';
$result = preg_match($pattern, $files[$i], $matches);
echo $matches[0]."<br>";
}
我得到这个:
Notice: Undefined offset: 0 in C:\xampp\htdocs\imgs.php on line 31
Notice: Undefined offset: 0 in C:\xampp\htdocs\imgs.php on line 31
Notice: Undefined offset: 0 in C:\xampp\htdocs\imgs.php on line 31
thumb_Koala.jpg
thumb_Lighthouse.jpg
更简单地...
<?php
foreach (preg_grep('/^thumb_[\w\-]+\.(jpg|png|gif|jpeg)$/', scandir('uploads')) as $path) {
printf('<img src="uploads/%s" style="margin: 10px"><br>', $path);
}
您可以简单地执行此操作以隐藏php上的任何错误
error_reporting(0);
但是从其他方面来讲,您必须问自己为什么会出现此错误? 可以肯定的是,因为未设置数组$ matches,所以当您尝试访问键0时,出现未定义的错误,您可以对数组$ match进行简单检查。 也请把括号放在这个0键里面
喜欢
$matches['0'];
为了防止默认密钥分配。 此外,而不是echo
,你可以使用print_r
!
感觉您不会发布任何代码,所以这是我的最终帮助,可以更好地使用此代码
<?php
$files = glob('images/*.{jpg,png,gif,jpeg}', GLOB_BRACE);
foreach($files as $file) {
?>
<img src='<?php echo $file; ?>' /><br />
<?php
}
?>
别客气 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.