[php] ordner Inhalt ab einer bestimmten Stelle scanen

Diskordier

Neu angemeldet
Registriert
14 Juli 2013
Beiträge
161
Hallo leute ich suche nach einer möglichkeit wie ich einen Ordner inhalt erst ab einer bestimmten stelle Scanen kann.

So in dem sinn ich hab die Zahl 3 dann soll der code vom dritten inhalt an im Ordner mit dem scanen anfangen .

wenn zb mein Oder folgender Inhalt hat;

datei 1.avi
datei 2.pdf
datei 3.mkv
datei 4.png
datei 5.avi
datei 6.pdf

Das jede Datei eine Zahl am Ende hat ist so richtig.

so mit diesem Code scan ich ja ganz normal den inhalt und speichere die inhalt anzahl


[src=php]
//Ornder Videos anzahl lesen
$files = scandir(FOLDER.$row['folderName']);
//anzahl Daten ermitteln
$files_count = count($files)-2; // Minus zwei wegen "." und ".."[/src]

mein gespeicherter Wert ist so 6

Nun möchte ich einen Wert mit geben zb 3 so das der Scan zb erst vom 3.ten Inhalt des ordners an scant

Dann soll er mir eine rückgabe von 4 geben.

Ich habe echt keine idee wie ich das mache. Oder nach welchem Stichwort ich Googeln soll .

Natürlich könnte ich einfach jetzt einfach die Zahl zb (3 )die ich habe vom scan Wert (6) abziehen und bekomme so auch die 4.

Aber es geht gar nicht darum ich brauch einfach den ansatz wie es geht um dann was anderes zu machen.

Thx ^^
 
Hey!

Komplett einlesen musst Du den Ordner so oder so, denn sonst Du brauchst ja alle Dateien, damit [kw]scandir[/kw] sie intern alphabetisch sortieren kann.

Bei der Ausgabe der Dateien kannst Du die Schleife aber nicht komplett durchlaufen lassen, sondern erst ab einem Start-Index, den Du selbst festlegst:

PHP:
Expand Collapse Copy
$start_index = 3;

for($i = $start_index + 2, $files_count = count($files); $i < $files_count; $i++){
	echo $files[$i] . "\n";
}

Es werden also nicht alle Dateien ausgegeben, sondern nur die mit einem Index von mindestens 5 in Deinem [kw]$files[/kw]-Array. Die 5 ergibt sich aus 3 als Start-Index und 2, weil . und .. ganz vorne stehen.
 
Generell greifst du übrigens einfach ganz normal wie in einem Array darauf zu (es ist ja eins). Ich bin mir nicht sicher, ob ".." und "." die ersten oder die letzten Elemente sind - entsprechend bekommst du eine Referenz auf die 4. Datei dann entweder mittels $files[3] oder $files[5].
 
  • Thread Starter Thread Starter
  • #4
Okay danke, ok so geht es, versteh man muss zuerst den ganzen ordner Scanen. Da kommt man nicht herum . Danke hat mir sehr geholfen ^^
Nun funktioniert mein Code ^^ so wie ich es wollte^^
 
Zurück
Oben