Ben kendisine iletilen (ve sonunda, belki bir özyinelemeli silme bunu genişletmek) bulunuyor dizindeki tüm dosyaları siler bir PHP işlevi yazıyorum. Güvende olmak için, ben geçirilen dizin kök dizin ise, bir hata ya da bir şey ile, bir şey silmeye çalışmayın, emin olmak istiyorum.
Dosya izinleri büyük ölçüde beni korur, ama sadece durumda, ve ben bir recursive bunu genişletmek, özellikle eğer sadece o ekstra adımı almak istiyorum silmeniz gerekir.
Bir komplike faktör olarak, bu kodu bir windows makine veya bir linux makinede çalıştırmak olabilir, yani kök dizin gibi görünebilir 'C: \' ya da '/'. Ben gerçekten de kök muhtemelen bakın başka yolları vardır varsaymak 'c: \ temp ..'
Yani, bir dir spec dosya sisteminin köküne gideren tanımak için PHP güvenilir bir yolu var mı?
Ayrıntılama ...
Ben bir web uygulaması için PHPUnit testleri yazıyorum ve testler sonrasında çalıştırın ve restore önce app devlet yedeklenmiş bir çerçeve oluşturmak için çalışıyorum. Uygulaması, kullanıcıların dosyaları yüklemenize izin verir. Dosya ne bağlı olarak birkaç olası dizinleri biri kopyalanır.
Bu dizinleri bir yere kopyalanması gerekir app durumunu kaydetmek ve geri yüklemek için, koşmak testler, daha sonra dizinleri kendi dosyalar silinir ve yedekten retreived olması gerekir.
Bu dizinlerin yeri bir makineden diğerine değişebilir ve bazı insanlar web uygulaması dışında koydu biliyorum. Verilen makine için bu dizinlerin yerini verir testi tarafından okunabilir bir yapılandırma dosyası vardır.
Belirli dir ağaca tüm bu dizinleri kısıtlamak istemiyorsanız bu hapsedilmesi yapmak zor. Belirli dir ağaca bu dizinleri kısıtlamak yaparsanız o zaman bazı insanlar kendi makineleri yeniden yapılandırmanız gerekir.