Scandir voor specifieke directory en return laatste file.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michel Koonen

Michel Koonen

08/08/2024 10:50:20
Quote Anchor link
Hoi,

Ik vond dit script wat me de laatste file geeft in de directory (waarin het script staat). Ik wil echter dat de directory van $path gescand wordt, maar dat krijg ik niet voor elkaar.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$path
    = 'assets/sub-sites/pic/';

$latest = array(); $latest["time"] = 0;
foreach (array_diff(scandir(__DIR__), array(".", "..")) AS $file) {
    if (filemtime($file) > $latest["time"]) {
        $latest["file"] = $file;
        $latest["time"] = filemtime($file);
    }
}

echo $latest["file"];
?>
Gewijzigd op 08/08/2024 11:00:13 door - Ariën -
 
PHP hulp

PHP hulp

04/11/2024 12:55:56
 
- Ariën  -
Beheerder

- Ariën -

08/08/2024 11:01:53
Quote Anchor link
Heb je dit al gedebugd door je waarden te echo'en?
Er wordt al een loop gedraaid zie ik met je foreach. Dus kijk eens of alles wordt geïtereerd wat je wilt?

Wat verwacht je als output?
Gewijzigd op 08/08/2024 11:02:49 door - Ariën -
 
Michel Koonen

Michel Koonen

08/08/2024 14:32:24
Quote Anchor link
opgelost:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$path
    = 'assets/sub-sites/pic/';

$latest = array(); $latest["time"] = 0;
foreach (array_diff(scandir($path), array(".", "..")) AS $file) {
    if (filemtime($path.'/'.$file) > $latest["time"]) {
        $latest["file"] = $file;
        $latest["time"] = filemtime($path.'/'.$file);
    }
}

echo $latest["file"];
?>
Gewijzigd op 08/08/2024 15:53:19 door - Ariën -
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.