<?php
// repertoire a scanner :
$dir= "/var/www/stock/downloads";
// comparateur de date
function dateComparator($a, $b) {
if ($a['date_modification'] == $b['date_modification']) return 0;
return ($b['date_modification'] < $a['date_modification']) ? -1 : 1;
}
// scan du repertoire
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir), RecursiveIteratorIterator::CHILD_FIRST);
$fichiers=array();
foreach ($iterator as $path) {
// si il s'agit d'un fichier
if ($path->isFile()) {
$nom = pathinfo($path->__toString(), PATHINFO_BASENAME);
if ($nom != '`^\.`' ) {
// on cree une matrice d'informations sur le fichier
$fichiers[]= array(
"nom" => $nom,
"date_modification" => filemtime($path)
);
}
}
}
// tri par date
usort($fichiers, 'dateComparator');
$fichiers = array_slice($fichiers, 0, 20);
// affichage du tableau de fichiers apres tri par date
echo "<h3>Derniers fichiers téléchargés : </h3>";
echo "<hr/>";
foreach($fichiers as $key => $item) {
echo "[".$key."] ".date("d/m/Y H:i:s", $item['date_modification'])." | ".$item['nom']."<br/>";
}
echo "<hr/>";
?>
Fatal error: Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(): open_basedir restriction in effect. File(/var/www/stock/downloads) is not within the allowed path(s): (/tmp:/in:/etc) in /in/7FlAv:14
Stack trace:
#0 /in/7FlAv(14): RecursiveDirectoryIterator->__construct('/var/www/stock/...')
#1 {main}
thrown in /in/7FlAv on line 14
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Fatal error: Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(): open_basedir restriction in effect. File(/var/www/stock/downloads) is not within the allowed path(s): (/tmp:/in:/etc) in /in/7FlAv:14
Stack trace:
#0 /in/7FlAv(14): RecursiveDirectoryIterator->__construct('/var/www/stock/...')
#1 {main}
thrown in /in/7FlAv on line 14
Process exited with code 255.
Output for 8.0.13
Fatal error: Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(/var/www/stock/downloads): Failed to open directory: No such file or directory in /in/7FlAv:14
Stack trace:
#0 /in/7FlAv(14): RecursiveDirectoryIterator->__construct('/var/www/stock/...')
#1 {main}
thrown in /in/7FlAv on line 14
Process exited with code 255.
Fatal error: Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(/var/www/stock/downloads): failed to open dir: No such file or directory in /in/7FlAv:14
Stack trace:
#0 /in/7FlAv(14): RecursiveDirectoryIterator->__construct('/var/www/stock/...')
#1 {main}
thrown in /in/7FlAv on line 14
Process exited with code 255.
Output for 7.1.20
Fatal error: Uncaught UnexpectedValueException: RecursiveDirectoryIterator::__construct(): open_basedir restriction in effect. File(/var/www/stock/downloads) is not within the allowed path(s): (/tmp:/in) in /in/7FlAv:14
Stack trace:
#0 /in/7FlAv(14): RecursiveDirectoryIterator->__construct('/var/www/stock/...')
#1 {main}
thrown in /in/7FlAv on line 14
Process exited with code 255.
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.28
Fatal error: Uncaught exception 'UnexpectedValueException' with message 'RecursiveDirectoryIterator::__construct(/var/www/stock/downloads): failed to open dir: No such file or directory' in /in/7FlAv:14
Stack trace:
#0 /in/7FlAv(14): RecursiveDirectoryIterator->__construct('/var/www/stock/...')
#1 {main}
thrown in /in/7FlAv on line 14
Process exited with code 255.