1. sorununu için klasör temizleme fonksiyonuna filemtime ekleyerek halledebiliriz. bu verdiğim kodu cpanelde cronjobs'a eklersen -mesela her saat başı çalışacak şekilde- her saat başı belirttiğim klasördeki ve o klasörün içindeki klasörlerdeki tüm dosyaların oluşturulma tarihlerini filemtime ile kontrol eder ve 4 günden (değiştirebilirsin bu kısmı) fazla olanları siler.

<?php

$klasor = $_SERVER['DOCUMENT_ROOT'].'/upload-dizini/'; // klasörün sonunda kesinlikle / olsun

function klasor_temizle($klasor) {
    $ac = opendir($klasor);
    for(;false !== ($dosya = readdir($ac));)
        if($dosya != '.' and $dosya != '..') {
            $dosya2 = $klasor.$dosya;
            if(is_dir($dosya2)) {
                klasor_temizle($dosya2);
                rmdir($dosya2);
            }
            else {
				$sure = 60*60*24*4; // 4 gün
				if(time() - $sure > filemtime($dosya2)) {
					unlink($dosya2);
				}
            }
    }
    closedir($ac);
}

klasor_temizle($klasor); 

?>
2. sorunu anlamadım açıkcası