PHP: 使用相对图像路径从指定目录中拉取所有图像

PHP: Pull all images from a specified directory using relative image path

我正在尝试创建一个图片库,其中的图片会自动从图片目录中提取。

当我 foreach() 每个图像时 returns 但是它会拉取整个根路径作为图像 src

/home/dev/public_html/assets/images/

这会导致图像不显示并在屏幕上显示死链接图像。我需要这样的相对路径:

/assets/images/imagename.jpg

如何设置基数 path/URL?

$dirname = "/home/dev/public_html/assets/images/";                              

$images = glob($dirname."*.jpg");

foreach($images as $image) {
    echo '<img src="'.$image.'" /><br />';
}

我尝试将 $dirname 设置为此

$dirname = "/assets/images/"; 

但我没有得到任何结果,也没有任何进展。

我在其中创建的文件位于 public_html 文件夹之外,我相信这可能是问题所在,但无法重新定位该文件。

你可以利用 scandir() http://php.net/manual/en/function.scandir.php

有点像:

编辑:稍微更改了代码,让 scandir 只取文件,否则放在数组中的前两个是父文件夹的文件夹。

$dir = "assets/images/";
$images = scandir($dir);

foreach($images as $image) {
     if($image != '.' && $image != '..') {
          echo ' <img src="assets/images/'.$image.'"><br>';
     }
}

希望这对您有所帮助。如果没有,请告诉我,以便我更改答案。但据我了解您正在尝试的内容,我认为应该没问题。

我会编辑循环以从路径中删除不必要的字符串:

foreach($images as $image) {
    $src = str_replace('/home/dev/public_html' ,'', $image) ;   
    echo '<img src="'.$src.'" /><br />';
}