使用 glob 动态显示具有不同扩展名的图像在 PHP 中不起作用
Using glob to dynamically display images with different extensions not working in PHP
我的第一个问题...
我正在尝试从“fotorama”div 中的文件夹动态显示图像。使用此代码:
<?php
$dir = "/example/images/category/";
$images = glob($dir.'*.{JPG,jpg,gif,png,bmp}', GLOB_BRACE);
foreach ($images as $image) {
echo "<img src='".$dir.".".$image."' />";
};?>
我知道以前有人问过这个问题;但在阅读完所有内容后,我发现:例如 (here, here and here) 以及许多其他 "similar" 问题。
他们都推荐几乎相同的代码(彼此之间的语法略有不同)
我已经尝试了我发现的这段代码的每个变体,但它什么也没显示。
我知道 ($dir) 没问题,因为当我尝试时:
echo '<img src="'.$dir."img1.jpg".'">';
它显示该特定图像。问题一定出在 glob 部分,因为当我在 foreach 循环之前使用 var_dump($images);
时,它会显示:array (0) {}.
不知道是什么问题...
编辑:
在 Sam 的回答的帮助下,代码现在可以工作了,我发现我忘记更正 GLOB_BRACE
部分中的某些内容。更正后的代码应该是这样的:
<?php
$dir = "c:/xampp/htdocs/example/images/category/";
$images = glob($dir.'*.{JPG,jpg,gif,png,bmp}', GLOB_BRACE);
foreach ($images as $image) {
echo "<img src='".$image."' />";
};
?>
为了将来参考,Xampp 本地主机上 glob()
函数工作的路径是:C:/xampp/htdocs/your-folder-structure
glob()
查找文件系统路径,而图像标记的 src
属性指向 url 位置,可能相对于您的文档根目录(但可能在任何地方,具体取决于在你的路由规则上)。
因此,例如,如果 /example/images/
url 指向文件系统上的 /var/www/example/images/
,您需要执行以下操作:
<?php
$dir = "/var/www/example/images/category/";
$url = "/example/images/category/";
$images = glob($dir.'*.{JPG,jpg,gif,png,bmp}', GLOB_BRACE);
foreach ($images as $image) {
echo "<img src='{$url}{$image}' />";
};?>
不过,在您的特定情况下,您需要弄清楚该目录在文件系统中的位置。
我的第一个问题... 我正在尝试从“fotorama”div 中的文件夹动态显示图像。使用此代码:
<?php
$dir = "/example/images/category/";
$images = glob($dir.'*.{JPG,jpg,gif,png,bmp}', GLOB_BRACE);
foreach ($images as $image) {
echo "<img src='".$dir.".".$image."' />";
};?>
我知道以前有人问过这个问题;但在阅读完所有内容后,我发现:例如 (here, here and here) 以及许多其他 "similar" 问题。 他们都推荐几乎相同的代码(彼此之间的语法略有不同) 我已经尝试了我发现的这段代码的每个变体,但它什么也没显示。
我知道 ($dir) 没问题,因为当我尝试时:
echo '<img src="'.$dir."img1.jpg".'">';
它显示该特定图像。问题一定出在 glob 部分,因为当我在 foreach 循环之前使用 var_dump($images);
时,它会显示:array (0) {}.
不知道是什么问题...
编辑:
在 Sam 的回答的帮助下,代码现在可以工作了,我发现我忘记更正 GLOB_BRACE
部分中的某些内容。更正后的代码应该是这样的:
<?php
$dir = "c:/xampp/htdocs/example/images/category/";
$images = glob($dir.'*.{JPG,jpg,gif,png,bmp}', GLOB_BRACE);
foreach ($images as $image) {
echo "<img src='".$image."' />";
};
?>
为了将来参考,Xampp 本地主机上 glob()
函数工作的路径是:C:/xampp/htdocs/your-folder-structure
glob()
查找文件系统路径,而图像标记的 src
属性指向 url 位置,可能相对于您的文档根目录(但可能在任何地方,具体取决于在你的路由规则上)。
因此,例如,如果 /example/images/
url 指向文件系统上的 /var/www/example/images/
,您需要执行以下操作:
<?php
$dir = "/var/www/example/images/category/";
$url = "/example/images/category/";
$images = glob($dir.'*.{JPG,jpg,gif,png,bmp}', GLOB_BRACE);
foreach ($images as $image) {
echo "<img src='{$url}{$image}' />";
};?>
不过,在您的特定情况下,您需要弄清楚该目录在文件系统中的位置。