PHP opendir () bir alt açılış değil

0 Cevap php

Ben ve tüm alt dizinleri listelemek gereken bir php resim galerisi, yaptık "resimler" klasörü ve tıklandığında, önceki ve sonraki fotoğrafları bir bağlantı ile klasördeki ilk görüntü göstermek. Bu hat 20 üzerinde "resimlerim" klasörünün alt dizinleri listeler, hiçbir şey döndürülür. Ayrıca, önceki ve sonraki bağlantılar yerine her zaman bir sonraki görüntünün Albümler sayfasına bağlantıları gösterir.

Neyi yanlış yaptım? Benim kod, eleştirileri de duyacağız.

<?
//Return the contents of a folder which are images as an array
function dirContents($folder){
if ($handle = opendir($folder)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && !is_dir($file) && (pathinfo($file,PATHINFO_EXTENSION) == 'jpg')) {
            $contents[] = $file;
            echo "$file</br>";
        }
    }
    closedir($handle);
}   
    return $contents;
}

if (!isset($_GET['album'])){
    //List all the albums from the pics folder
    echo '<div class="subhead">Albums</div>';
    echo '<ul>';
    if ($handle = opendir("./pics")) {
        while (false !== ($file = readdir($handle))) {
            if ($file != "." && $file != ".." && is_dir($file)) {
                echo '<li><a href="?page=gallery&album='.$file.'&i=0">'. $file. '</a></li>';
            }
        }
        echo '</ul>';
        closedir($handle);
        }   
}
else{
// Include some input validation here to see if $album is actually a subfolder of pics
    $album = $_GET['album'];
        if (!isset($_GET['i']))
            $i = 0;
        else
            $i = $_GET['i'];
    $ip = $i-1;
    $in = $i+1;
    $images = dirContents($album);
    $len = count($images);
    echo "<div class=\"subhead\">$album, Num photos = $len</div>";
    echo '<div class="viewer">';
        if ($ip < 0)
            echo '<a href="?page=gallery">Albums</a>';
        else
            echo "<a href=\"?page=gallery&album=$album&$ip\">Albums</a>";
    echo "<img src=\"$album\\$images[$i]\" />";
        if ($in >= count($album))
            echo '<a href="?page=gallery">Albums</a>';
        else
            echo "<a href=\"?page=gallery&album=$album&$in\">Next</a>";
    echo '</div>';
}

echo 'All images appear here with the given consent of those persons that appear within them';
?>

0 Cevap