0

在 /portfolio.php(位于站点的根目录)上,我想显示目录 /trabajos/tataviajes 中的所有图像。

foreach(scandir('./trabajos/tataviajes/', 1) as $filename){
     echo '<img src="'.$filename.'"/>';
 }

该函数像这样打开图像:/portfolio/123.jpg 而不是 /trabajos/tataviajes/123.jpg

我认为它可能会干扰的 htaccess 代码是:

RewriteRule ^portfolio/(\w+)/?$ portfolio.php?i=$1

我说清楚了吗?问题是什么?

提前致谢!

4

1 回答 1

0

scandir返回文件名数组而不是文件路径,请参见http://php.net/scandir#refsect1-function.scandir-returnvalues

您需要在文件名的路径前加上前缀。考虑类似的事情:

$directory = 'trabajos/tataviajes/';
foreach(scandir($directory, 1) as $filename){
    echo '<img src="/'.$directory.$filename.'"/>';
}

另外,考虑htmlentities在路径中使用特殊字符不会弄乱您的标记:

echo '<img src="'.htmlentities('/'.$directory.$filename).'"/>';
于 2013-12-06T06:25:46.037 回答