我正在尝试创建一个图库,从图像目录中自动拉出图像。
当我foreach()
返回每个图像时,它会将整个根路径拉为图像src
/home/dev/public_html/assets/images/
这会导致图像无法显示并在屏幕上显示死链接图像。我需要这样的相对路径:
/assets/images/imagename.jpg
如何设置基本路径/网址?
$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
文件夹之外,我相信这可能会解决问题,但文件无法重新定位。
答案 0 :(得分:2)
我会编辑循环以便从路径中删除不必要的字符串:
foreach($images as $image) {
$src = str_replace('/home/dev/public_html' ,'', $image) ;
echo '<img src="'.$src.'" /><br />';
}
答案 1 :(得分:0)
您可以使用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>';
}
}
希望这有帮助。如果没有,请告诉我,所以我可以改变我的答案。但我认为应该没问题,只要我明白你在尝试什么。