Poznaj moje chamskie serce
<?php
function getFilesData($folder) {
$FILES = array(); //tablica z wynikami
while($file = $content->read())
{
if($file == "." OR $file == "..") continue; //omijamy . i ..
$create_data = date ("F d Y H:i:s.", filemtime($folder."/".$file)); $FILES[] = array('name' => $file, 'date' => $create_data); }
return $FILES;
}
print_r(getFilesData
('Testowy')); //jako parametr dajemy ścieżkę do katalogu ?>
Ja jako katalog podałem Testowy i dało mi taką oto tablicę wyników
Kod
Array (
[0] => Array ( [name] => 39.jpg
[date] => December 08 2007 02:34:00. )
[1] => Array ( [name] => avatar.jpg
[date] => November 18 2007 20:20:29. )
[2] => Array ( [name] => DF0006.jpg
[date] => November 18 2007 20:19:22. )
[3] => Array ( [name] => przytulaski.gif
[date] => November 23 2007 23:13:09. )
[4] => Array ( [name] => zakochany choniczek.jpg
[date] => November 23 2007 22:50:28. )
)
Oczywiście takie właśnie pliki miałem w katalogu Testowy
Teraz wystarczy posprawdzać daty i pousuwać co trzeba, ale to już tylko formalność. Jakbyć napotkał jakieś trudności to pisz - chętnie pomogę..
Pozdrawiam
Poprawiłem to trochę i teraz możesz usunąć najstarsze pliki w jednej linijce

(możesz nawet podać ile najstarszych plików chcesz usunąć) Kod składa się z 3 funkcji, ale wywołujesz tylko jedną i ona się wszystkim zajmie: Oto mój genialny kod (joke):
<?php
function getFilesData($folder)
{
$FILES = array(); //tablica z wynikami
while($file = $content->read())
{
if($file == "." OR $file == "..") continue; //omijamy . i ..
$create_data = date ("F d Y H:i:s.", filemtime($folder."/".$file)); $FILES[] = array('name' => $file, 'date' => $create_data); }
return $FILES;
}
function sortByDate($FILES)
{
foreach($FILES as $file)
{
$date[] = $file['date'];
}
return $FILES;
}
function deleteOldFiles($folder, $howMany)
{
$FILES = getFilesData($folder); //pobiera pliki z katalogu
$FILES = sortByDate($FILES); //soruje od najstarszego do najnowszego ;)
for($x = 0; $x<$howMany; $x++) { //usuwa pliki
$file_name = $folder."/".$FILES[$x]['name'];
{
$deleted[] = $file_name;
}
}
return $deleted;
}
//przykład użycia :)
$usuniete = deleteOldFiles('Testowy', 3); //usuwa 3 pliki i zwraca tablice z nazwami usunietych plikow
print_r($usuniete); //pokazuje usuniete pliki echo "<br /> Usunięto ".count($usuniete)." plików!"; ?>
PS Przydałoby się sprawdzać jeszcze rozszerzenia plików i brać pod uwagę tylko obrazki