sikor02
(Sikora507)
#1
Witam.
Natknąłem się na taki problem:
potrzebuję odnaleźć z folderu pewien plik
nazwy plików w tym folderze to przykładowo:
m-1.jpg
m-2.jpg
l-3.jpg
a-4.jpg
na końcu nazwy pliku za myślnikiem jest tak jakby jego identyfikator który ma pomóc mi wybrać ten o najwyższym numerze.
teraz pytanie: jak to zrobić?
To może użyj funkcji explode (albo lepiej wyrażeń regularnych) do oddzielenie numerka i potem pozapisuj do tablicy i przesortuj
adpawl
(adpawl)
#3
Można to zrobić tak:
<?php
$tab = array();
$di=new DirectoryIterator('./');
foreach($di as $file) {
$fn=$file->getFilename();
if(preg_match('/\-[0-9]+\./', $fn, $valid)) { $tab[$valid[0]]=$fn; }
/*
można wzbogacić o wybór konkretnego rozszerzenia pliku
np. dla plików jpg:
if(preg_match('/\-[0-9]+\.jpg/', $fn, $valid)) { $tab[$valid[0]]=$fn; }
albo dla kilku rozszerzeń
if(preg_match('/\-[0-9]+\.(jpg|png|gif)/', $fn, $valid)) { $tab[$valid[0]]=$fn; }
*/
}
rsort($tab); //sortuje malejąco przepisując klucze
//nazwa pliku z największą liczbą będzie w: $tab[0]
echo $tab[0]; //pokazuje wartość pierwszego klucza
?>