域下的所有可用图像

时间:2010-03-22 12:46:51

标签: php html image gallery

我想在我的域名(我的互联网根文件夹)下创建一个包含所有图像的图库。所有这些图像都在不同的文件夹中。什么是“浏览”所有文件夹并返回图像的最佳方式?

4 个答案:

答案 0 :(得分:1)

看看opendir你想编写一个在递归循环中调用的函数,该函数可以遍历特定目录中的文件,检查文件扩展名并将文件作为数组返回你将与​​全局数组合并。

答案 1 :(得分:1)

Google Image Searchsite: www.mydomainwithimages.com一起用作搜索字词,这将显示所有索引图像。只要您的robots.txt文件不排除Google抓取工具,这应该是您网域中的所有内容。

答案 2 :(得分:0)

取决于托管系统,您可以使用命令行与exec或passthru

find /path/to/website/root/ -type f -name '*.jpg'

如果你不能做这样的事情,就像火说的那样,opendir是要走的路。

答案 3 :(得分:0)

我会给PHP的DirectoryIterator一个旋转。

这是未经测试的伪代码,但它应该有点像这样:

function scanDirectoryForImages($dirPath)
{
    $images = array();
    $dirIter = new DirectoryIterator($dirPath);
    foreach($dirIter as $fileInfo)
    {
        if($fileInfo->isDot()) 
            continue;
        // If it's a directory, scan it recursively
        elseif($fileInfo->isDir())
        {
            $images = array_merge(
                $images, scanDirectoryForImages($fileInfo->getPath())
            );
        }
        elseif($fileInfo->isFile())
        {
            /* This works only for JPEGs, oviously, but feel free to add other
            extensions */
            if(strpos($fileInfo->getFilename(), '.jpg') !== FALSE)
            {
                $images[] = $fileInfo->getPathname();
            }
        }
    }

    return $images;
}

请不要起诉我,如果这不起作用,它真的很有点从我的帽子,但使用这样的功能将是解决你的问题的最优雅的方式,imho。

//编辑:是的,这与火指出的基本相同。