Tell me please! When files are uploaded to file sharing, everything goes fine, but after I implemented the function of cleaning old files when the maximum allowed file storage size was exceeded, my cycle does not fall, but it clears all files, and I need to clean up to a certain value:
This is a link to my file sharing service: http://test.afc.ru/exchange/index.php.
<? $path = 'storage'; // ΠΏΠ°ΠΏΠΊΠ° ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ $beforeDir = scandir('storage'); // ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ Π΄ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° echo "<br><p style='margin-left: 75px; color: blue;'><i>Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΊΠΈ <b>storage</b> Π΄ΠΎ ΠΎΡΠΈΡΡΠΊΠΈ:</i><br>"; for ($i = 0; $i < count($beforeDir); $i++) echo "<span style='text-align: left; margin-left: 250px; color: green;'>$i. <i>$beforeDir[$i]</i></span>"."<br />"; //print_r($beforeDir); //echo $dir[3]; echo "$maxFileSize - ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π΄ΠΎΠΏΡΡΡΠΈΠΌ: 10ΠΠ<br>"; echo "$filesize - ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΡΠΏΡΡΠΈΠΌ: 5ΠΠ±<br>"; echo "$fileSize - ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌ ΠΎΠ½ ΠΏΡΠ΅Π²ΡΡΠΈΠ»: 20ΠΠ±<br><br>"; // Π€ΡΠ½ΠΊΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² if($fileSize > $maxFileSize){ // Π΅ΡΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π²ΡΡΠΈΠ» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ $MFS = $maxFileSize; $FS = $fileSize; echo "$MFS - NEW ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΠΊΠ°<br>"; // ΡΠ°ΠΊ Π΄Π»Ρ ΡΠ΅Π±Ρ echo "$FS - NEW ΠΎΠ±ΡΠΈΠΉ Π²Π΅Ρ<br>"; // ΡΠ°ΠΊ Π΄Π»Ρ ΡΠ΅Π±Ρ /* Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΈΠΊΠ» ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΡΠΈ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°*/ while ($FS > $MFS){ // ΡΠ΄Π°Π»ΡΡΡ ΠΏΠΎΠΊΠ° Π²Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ $path = 'storage'; //ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π΄ΠΈΡΡΠ΅ΠΊΡΠΎΡΠΈΡ $beforeDir = scandir('storage'); //ΡΠΊΠ°Π½ΠΈΡΡΡ Π΄ΠΈΡΡΠ΅ΠΊΡΠΎΡΠΈΡ if (unlink("storage/$beforeDir[3]")) //Π²ΡΡΠ°ΡΠΊΠΈΠ²Π°Ρ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° 4 ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΡΠ΄Π°Π»ΡΡ ΡΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ storage, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠ΅ΡΠ²ΡΠ΅ 3 ΡΡΠΎ: 0. .; 1. ..; 2. .htaccess; echo "<span style='text-align: center; color: red;'>Π€Π°ΠΉΠ»: $beforeDir[3] - ΡΠ΄Π°Π»Π΅Π½!</span>"; else echo "<span style='text-align: center; color: red;'>ΠΠ°ΠΏΠΊΠ° <b>storage</b> ΠΏΡΡΡΠ°!</span>"; /* ΡΠ½ΠΎΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΠΎΠ±ΡΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π€Π₯ Π½Π° ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ */ function getFilesSize(){ // Π€ΡΠ½ΠΊΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠ°ΠΏΠΊΠΈ $path = 'storage'; //ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π΄ΠΈΡΡΠ΅ΠΊΡΠΎΡΠΈΡ $FS = 0; // ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ½ΡΠ» Π·Π°ΡΠ΅ΠΌ Ρ Π½ΡΠ»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡ, Π±ΡΠ°Π» ΠΊΠΎΠ΄ ΠΈΠ· ΠΈΠ½Π΅ΡΠ° $dir = scandir($path); // ΠΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ
ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΠΏΡΡΠΈ foreach($dir as $file){ // ΡΠΈΠΊΠ» ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ½ΡΠ» ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ, Π½ΠΎ ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠΎ ΠΈ Ρ
ΠΎΡΠ΅Π», Π³Π»Π°Π²Π½ΠΎΠ΅, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ! if (($file!='.') && ($file!='..')) if(is_dir($path . '/' . $file)) $FS += getFilesSize($path.'/'.$file); else $FS += $FS($path . '/' . $file); } return $FS; // ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΠ±Π°ΠΉΡΠ°Ρ
" } $FS = (int)((getFilesSize()/1024)/1024); // ΠΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎ ΠΠ±Π°ΠΉΡΠΎΠ²*/ } ?>