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 イテレーターを使用するとより役立つ場合があります。

このコード例では、パスが「test/folder」へのパスであると想定しています。これには、画像と 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 に答える