【问题标题】:Display image and file in a folder在文件夹中显示图像和文件
【发布时间】:2012-10-21 11:27:52
【问题描述】:

我想显示一个文件夹的内容,旁边有一张图片和文件名。 我试图通过scandir 获取文件名,但它不会改变行,只是在 1 长行中。

我真正想要的是这样的:
[Image here] [name here]

代码:

$directory = '../../Images'; 
$files = scandir($directory);
print_r($files);

【问题讨论】:

  • 您能否展示您尝试过的代码以及哪些代码不起作用?目前,这没什么好用的。
  • 请编辑您的问题以包含代码,不要在此处添加评论。

标签: php image directory


【解决方案1】:

假设目录中的每个文件都是一个图像:

<?php

$directory = './images';

foreach (new DirectoryIterator($directory) as $fn)
{
    if (!$fn->isDir() && !$fn->isDot())
    {
        printf("<p><img src=\"./images/%1\$s\" /> %1\$s</p>\n", $fn->getFilename());
    }
}

【讨论】:

  • 是的,我做了,我把它改成,../../Images :)
  • 那结果是什么? DirectoryIterator 如果无法读取目录会抛出错误。
  • 好吧,它显示了文件名,但图像只是失败的小方块,小方块..你可以在这里看到它japseyz.dk/JapSeyz/Admin/Packages/Imagelist
  • 好的,所以列表正在运行,但您的图片没有显示。图像目录必须位于可公开访问的文件夹中,并且您的图像路径应指向该文件夹。如果“../../Images”从您的 Web 根目录中移出,那么您的 Web 服务器将永远无法提供这些图像。
  • 它是公开可访问的,它没有移出网络服务器,所以我不知道出了什么问题:/你可以尝试我之前评论中的链接,看看它是公开可见的
【解决方案2】:

表可以工作。但是如果你想让它正确渲染,你必须用&lt;html&gt; &lt;body&gt;等等包围它。

$root = 'http://example.com/images/';
$files = scandir( $directory );
echo '<table>';
foreach( $files as $file )
{
    if(is_file($file))
    {
        echo '<tr><td><img src="' . $root . $file . '" /></td><td>' . $file . '</td></tr>';
    }
}
echo '</table>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 2013-11-18
    • 2021-10-07
    相关资源
    最近更新 更多