0

我正在使用一切正常将一些文件导入文件夹,并且所有文件都正常插入,但是当我尝试在浏览器上显示这些文件的缩略图时,问题就开始了。在这种情况下,只有一些文件可以完美显示,而其他文件则显示为空矩形!虽然所有文件都位于同一个文件夹中!我进行了更多调查,并意识到其原始来源(在计算机上)接近文件夹路径的图像正在完美显示,而其他图像则没有。

例如,我的文件夹位于:c://xampp/htdocs/test/folder 我已将所有图片放在文件夹中,但仅显示最初在 c://xampp/htdocs/test 上可用的图像,而不是其他。

请帮我

编码:

    $images=array();  
    $dir_handler = opendir('test/folder') or die("Unable to open $path");  
    $i=0;    
    while($file = readdir($dir_handler))
    {            
    if(is_dir($file)) 
    continue;        
    else if($file != '.' && $file != '..' && $file != 'index.php')
    {                    
    $images[$i]=$file;
    $i++;     
    }       
    }      
    sort($images);

    for($i=0; $i<sizeof($images); $i++) 
    {              

    echo "<a href=".chr(34).$path.$images[$i].chr(34)."><img style='border:1px solid #666666; width:100px;height:100px; margin: 10px;' src='".$images[$i]."'/></a>";

    }        closedir($dir);
4

2 回答 2

1

我认为您的图像 src 路径应该是src='folder/".$images[$i]."'

于 2013-02-05T15:06:54.690 回答
0

在这种情况下,使用 SPL 的 Directory 迭代器可能更有帮助。

在此代码示例中,我假设您的路径是“测试/文件夹”——其中包含图像和 index.php 文件。

$path = 'test/folder';
foreach (new DirectoryIterator($path) as $fileInfo) {
    if ($fileInfo->isFile() && $fileInfo->getFilename() != 'index.php') {
        $image = "{$path}/{$fileInfo->getFilename()}";
        echo "<a href='{$image}'><img src='{$image}'></a>"; // style as appropriate
    }
}

这会在您的路径上创建一个新的 DirectoryIterator。然后,如果结果确实是一个文件,而不是名为 index.php,则变量 $image 将填充路径和文件名。echo 语句具有示例代码的较短版本,用于输出 a/img 标记组合。

于 2013-02-05T15:33:39.527 回答