выходные файлы из второго каталога в той же функции PHP - PullRequest
1 голос
/ 03 марта 2010

У меня есть следующий код для вывода изображений из каталога im /, как я могу настроить это, чтобы также выводить изображения из другой директории, называемой / (например)? Как отобразить другой тег img под текущим?

<?php
    $imgDir = "im/";

    $images = scandir($imgDir); 
    $ignore = array( ".", ".." ); 

    natsort($images);

    foreach($images as $file)
       {
    if(!in_array($file, $ignore))
       {
    echo "<div id=\"slideWrapper\">\n";
    echo "<img src=\"im/$file\" width=\"1000\" height=\"683\" alt=\"$files\" />\n";
    echo "</div>\n";
    };
    }
?>

Ответы [ 2 ]

0 голосов
/ 05 марта 2010

считаю, что это будет соответствовать вашим потребностям.

<?php
    $imgDir = 'im/';
    $imgDir2 = 'out/';
    $images = array();

    // open a directory reader for the first directory
    $dh = opendir($imgDir);
    // read a single filename of this directory (stop loop if there are no more files)
    while (false !== ($filename = readdir($dh))) 
    {
        // ignore '.' and '..'
        if($filename != '.' && $filename != '..')
        {
           // add the directory and filename to the images array
           $images[] = $filename;
        }
    }
    closedir($dh);

    natsort($images);

    // loop for every image
    foreach($images as $image)
    {
       // for every img, echo a div-2-images-div-combination
       echo '<div id="slideWrapper">';
       echo '<img src="'.$imgDir . $image.'" width="1000" height="683" alt="'.$image.'" />';
       echo '<img src="'.$imgDir2 . $image.'" width="1000" height="683" alt="'.$image.'" />';
       echo '</div>';
    }
?>

Я бы рекомендовал использовать одинарные кавычки, поскольку вам не нужно экранировать обычные кавычки, и это быстрее:)

0 голосов
/ 03 марта 2010

Я бы сделал это следующим образом - обменял $ imgDir на массив. Массив $ images теперь содержит и путь, и имена файлов.

<?php
    $imgDirs = array("im/", "out/");
    $images = array();

    // take one of the given directories
    foreach($imgDirs as $imgDir)
    {
       // open a directory reader for this given directory
       $dh = opendir($imgDir);
       // read a single filename of this directory (stop loop if there is no more file)
       while (false !== ($filename = readdir($dh))) 
       {
           // ignore '.' and '..'
           if($filename != '.' && $filename != '..')
           {
              // add the directory and filename to the images array
              // all images, regardless of the folder, are stored in one array :)
              $images[] = $imgDir . $filename;
           }
       } 
       closedir($dh);
    }

    natsort($images);

    // loop for every image
    foreach($images as $file)
    {
       // for every img, echo a div-img-/div-combination
       echo "<div id=\"slideWrapper\">\n";
       echo "<img src=\"$file\" width=\"1000\" height=\"683\" alt=\"$file\" />\n";
       echo "</div>\n";
    }
?>
...