Das kannst Du dir so eigentlich sparen, weil end den internen Zeiger auf's letzte Element setzt, Du das Element ausliest, dann das Array in ein anderes überträgst und dort das letzte Element abtrennst. Es würde also ein einfaches ...... ausreichen. Dann hast Du das letzte Element in $lastelement und alle anderen Elemente verbleiben in $files.PHP-Code:$lastelement = array_pop( $files );
Auch die Ausgabe kann man so machen, wie Du es getan hast. Mag dir zwar optisch nicht so schick vorkommen, ist aber legitim und nichts dagegen einzuwenden.
Wenn Du PHP 5 oder höher im Einsatz hast, kannst Du das auslesen eines Verzeichnis und die Ausgabe verkürzen, indem Du dich der SPL bedienst. Beispiel:
Falls Du für glob einen Pfad angibst um die Dateien auszulesen (und zu filtern), würden die auch in der Ausgabe mit ausgegeben werden. In dem Fall sollte dann im substr statt $files->current() der Dateiname extrahiert werden: basename( $files->current() )PHP-Code:$files = new ArrayIterator( glob( "*" ) );
while ($files->valid())
{
$output = "foo-" . substr( $files->current(), 6, -4 );
echo ($files->count() != $files->key()+1) ? $output .= ",\n" : $output . "\n";
$files->next();
}
Im letzteren Fall kannst Du dir auch im substr das -4 sparen, sofern alle Dateien die gleiche Endung haben, da Du bei basename einen 2. Parameter als Suffix angeben kannst, der ebenfalls abgetrennt wird. Beispiel:So, genug Erklärung für heute, alles Weitere steht dann in der Doku.PHP-Code:basename( $files->current(), '.jpg' )
![]()


LinkBack URL
About LinkBacks
Zitieren
