PHP kullanarak ilk 5 opendir kullanarak dosya adları () ve $ dosyayı görüntüleyin

5 Cevap
$d = opendir("docs");

while (($file = readdir($d)) !== false) { 

    if (($file != ".") && ($file != "..")){
        }
}

Ben ilk 5 dosya adlarını görüntülemek için mümkün olmak istiyorum.

İşte büküm, ben önümüzdeki 5 dosya adlarını görüntülemek istediğiniz, bir sonraki düğme var

Thanks Jean

5 Cevap

Sen bir sayaç değişkeni kullanın ve emin olun daha o 5 gitmez yapabilir?

Böyle bir bit:

$counter = 0;
$d = opendir("docs");
while (($file = readdir($d)) !== false && $counter < 5) { 
    if (($file != ".") && ($file != "..")){
        // ...
        $counter++;
    }
}


Not tested : maybe you'll have to use <= instead of <

İlk kez bir diziye bütün dosyaları glob edebilirsiniz. sonra 5 adımda, dizi üzerine gitmek için bir döngü kullanabilirsiniz.

$filenames = array_filter(glob($path.'*'), 'is_file'); 

Aşağıdaki gibi bir sayaç yararlanabilirler:

$d = opendir("docs");
// check for opendir error here.

$count = 0; // initialize counter.

while (($file = readdir($d)) !== false) { 

    if (($file != ".") && ($file != "..")){
        //....process files here.

        $count++; // done with one file..increment counter.
        if($count == 5) // have we reached the limit ?
            break; // if yes break.


    }
}

@ Düzenlendi Soru

I suggest the next button submits a form or somehow creates a new request? So just pass the current counter value.

$counterLimit = 5;
$counterStart = $_POST['counterStart']; //Pass the start value
$counterEnd= ($counterLimit + $counterStart);
$dir = opendir("dir");
$i = 0;
while (($file = readdir($dir) !== false) && ($i <= $counterEnd)) {
   if ($i >= $counterStart) {
       //Do something
   }
   $i++;
}

Test edilmedi. Ama böyle bir şey.

$from = GET["from"];

$counter = 0;
$fileCounter = 0;
$d = opendir("docs");
while (($file = readdir($d)) !== false && $counter < 5) { 
    if (($file != ".") && ($file != "..") && $from == $fileCounter){
        // ...
        $counter++;
    } else {
        $fileCounter++;
    }
}

Yukarıdaki kodu deneyemedim değil ama böyle bir şey çalışması gerekir.

Sonraki düğmesinin üzerine şimdi files.php gibi bir şey mi var? = 5 ila 5-10 dosyaları almak için.