44

指定したディレクトリから画像を表示するには? ディレクトリからすべてのpng画像を表示したいのと同じように、私の場合、ディレクトリはmedia/images/iconizedです。

私は周りを見回そうとしましたが、どれも私が本当に必要としているものに合わないようです.

しかし、ここに私の試みがあります。

$dirname = "media/images/iconized/";
$images = scandir($dirname);
$ignore = Array(".", "..");
foreach($images as $curimg){
    if(!in_array($curimg, $ignore)) {
        echo "<img src='media/images/iconized/$curimg' /><br>\n";
    }
}

ここの誰かが助けてくれることを願っています。私はどんなアイデア、推薦、提案でも開いています、ありがとう。

4

6 に答える 6

96

これにも使用できますglob

$dirname = "media/images/iconized/";
$images = glob($dirname."*.png");

foreach($images as $image) {
    echo '<img src="'.$image.'" /><br />';
}
于 2012-08-10T14:10:25.800 に答える
18

簡単なphpスクリプトを使用して、フォルダーからすべての画像を表示できます。フォルダ名を「images」とし、このフォルダに画像を置き、任意のテキスト エディタを使用してこのコードを貼り付け、このスクリプトを実行します。これはphpコードです

    <?php
     $files = glob("images/*.*");
     for ($i=0; $i<count($files); $i++)
      {
        $image = $files[$i];
        $supported_file = array(
                'gif',
                'jpg',
                'jpeg',
                'png'
         );

         $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
         if (in_array($ext, $supported_file)) {
            echo basename($image)."<br />"; // show only image name if you want to show full path then use this code // echo $image."<br />";
             echo '<img src="'.$image .'" alt="Random image" />'."<br /><br />";
            } else {
                continue;
            }
          }
       ?>

画像タイプをチェックしない場合は、このコードを使用してください

<?php
$files = glob("images/*.*");
for ($i = 0; $i < count($files); $i++) {
    $image = $files[$i];
    echo basename($image) . "<br />"; // show only image name if you want to show full path then use this code // echo $image."<br />";
    echo '<img src="' . $image . '" alt="Random image" />' . "<br /><br />";

}
?>
于 2013-07-10T16:58:14.953 に答える
5

for ($i=1; $i<count($files); $i++)ループを からに変更する必要がありますfor ($i=0; $i<count($files); $i++)

したがって、正しいコードは

<?php
$files = glob("images/*.*");

for ($i=0; $i<count($files); $i++) {
    $image = $files[$i];
    print $image ."<br />";
    echo '<img src="'.$image .'" alt="Random image" />'."<br /><br />";
}

?>
于 2013-10-08T18:45:52.960 に答える
-2

厳格な基準: 32 行目の /home/aadarshi/public_html/----------/upload/view.php では、参照によって変数のみを渡す必要があります。

コードは次のとおりです。

<?php

echo scanDirectoryImages("uploads");

/**
* Recursively search through directory for images and display them
* 
* @param  array  $exts
* @param  string $directory
* @return string
*/
function scanDirectoryImages($directory, array $exts = array('jpeg', 'jpg', 'gif', 'png'))
{
if (substr($directory, -1) == '/') {
    $directory = substr($directory, 0, -1);
}
$html = '';
if (
    is_readable($directory)
    && (file_exists($directory) || is_dir($directory))
) {
    $directoryList = opendir($directory);
    while($file = readdir($directoryList)) {
        if ($file != '.' && $file != '..') {
            $path = $directory . '/' . $file;
            if (is_readable($path)) {
                if (is_dir($path)) {
                    return scanDirectoryImages($path, $exts);
                }
                if (
                    is_file($path)
                    && in_array(end(explode('.', end(explode('/', $path)))),   $exts)
                ) {
                    $html .= '<a href="' . $path . '"><img src="' . $path
                        . '" style="max-height:100px;max-width:100px" />  </a>';
                }
            }
        }
    }
    closedir($directoryList);
}
return $html;
}
于 2015-11-17T07:13:57.367 に答える