2016-06-10 11 views
1

Ich habe keine Lösung für mein Problem gefunden. Mit dem folgenden Code scanne ich Dateien in einem Ordner. Ich sehe nur 601 Einträge. Gibt es ein Limit für foreach, select oder scandir?Limit in foreach?

<?php 
$ordner = "../picture/"; 
$alledateien = scandir($ordner); 
sort($alledateien); 
foreach ($alledateien as $datei) { 
$dateiinfo = pathinfo($ordner."/".$datei); 
$size = ceil(filesize($ordner."/".$datei)/1024); 
if ($datei != "." && $datei != ".." && $datei != "_notes") { 
?> 
<option value="<?php echo $dateiinfo['filename'] . "." . $dateiinfo['extension']; ?>"><?php echo $dateiinfo['filename']; ?> (<?php echo $dateiinfo['extension']; ?> | <?php echo $size ; ?>kb)</option> 
<?php 
}}; 
?> 
+0

'foreach' wird alles durchqueren, begrenzt durch die Größe dessen, was du passierst. Schau dir die Kontrollstruktur ['for'] (http://php.net/manual/en/control-structures.for.php) an, wo du ein Limit setzen kannst –

+0

Ich würde' glob' verwenden –

+0

Hi Aaron. Danke für deine schnelle Antwort. Ich würde keine Grenze .. Ich würde alle Einträge sehen. Aber ich sehe nur 599. –

Antwort

1

Start aus

for($k=2;$k<count($alledateien);$k++){ 
$dateiinfo = pathinfo($ordner."/".$alledateien[$k]); 
// .. Your Code 
} 

Grenzwert ist, wenn die Bedingung erfüllt wird. Hängt davon ab, wie Sie es in eine Schleife setzen.

Wenn Sie geben ein print_r($alledateien) Sie zu sehen bekommen zwei zusätzliche Dateien . und .., das sind current directory und parent directory. Um zu ignorieren, starte die Schleife von 2.

+0

Ok ich weiß was du meinst. Aber wie würdest du das mit meinem Code realisieren? –

+0

Ich habe das gleiche getan, ein paar Stunden zurück lol :) entfernen Sie diese Art Sache. ist deine Zählung 601? Wenn nicht, dann werde ich meinen Code bearbeiten, um das zu entfernen. und .. im Array –

+0

Haha schön :) Ich entfernte die Sorte, aber ohne irgendwelche Änderungen. Ja, du hast recht - es hört nach 601 Einträgen auf. –