Apabila menjalankan operasi sistem fail menggunakan kaedah Directory.GetFiles(), menemui direktori yang tidak boleh diakses boleh menyebabkan pengecualian yang tidak dijangka dan mengganggu proses. Artikel ini meneroka penyelesaian yang membolehkan anda mengabaikan folder yang dilindungi ini dan terus mendapatkan semula fail yang boleh diakses daripada direktori yang ditentukan.
Coretan kod yang disediakan cuba mendapatkan senarai fail dalam direktori yang dipilih dan subdirektorinya. Walau bagaimanapun, kehadiran folder yang program tidak mempunyai hak akses boleh mencetuskan UnauthorizedAccessException, menghentikan proses.
Untuk mengatasi masalah ini, kaedah alternatif telah diperkenalkan:
Kod yang diubah suai menggunakan perwakilan "fileAction" untuk mengendalikan satu fail. Ia berulang pada folder yang diberikan, memanggil "fileAction" untuk setiap fail yang boleh diakses. Untuk subdirektori, ia cuba menggunakan proses yang sama secara rekursif. Jika mana-mana subdirektori melemparkan pengecualian, pengecualian akan ditangkap dan prosesnya diteruskan dengan lancar.
Dengan melaksanakan strategi ini, kod boleh mengabaikan folder yang tidak boleh diakses dengan berkesan, memastikan senarai fail yang boleh diakses diperoleh tanpa sebarang gangguan.
Atas ialah kandungan terperinci Bagaimanakah saya dapat mengambil fail dengan selamat dari direktori, mengabaikan subdirektori akses yang terhad?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!