Katalogo pašalinimas iš PHP. MKDIR ir RMDIR komandos sukurti ir ištrinti katalogą Kaip ištrinti katalogą su Linux failu

Norėdami pašalinti failą ar katalogą Linux sistemoje iš komandinės eilutės, naudokite komandą rm (pašalinti).

Būkite ypač atsargūs trindami failus ar katalogus naudodami komandą rm, nes ištrynus failą, jo atkurti nepavyks.

Šiame straipsnyje parodysime, kaip naudoti komandą rm failams ir katalogams ištrinti, su dažniausiai pasitaikančių rm parinkčių pavyzdžiais ir paaiškinimais.

Kaip ištrinti failus

  • Norėdami pašalinti vieną failą, naudokite komandą rm, po kurios nurodykite failo pavadinimą:

    rm failo pavadinimas

    Jei failas yra apsaugotas nuo rašymo, būsite paraginti jį patvirtinti, kaip parodyta toliau. Norėdami ištrinti failą, įveskite y ir paspauskite Enter. Priešingu atveju, jei failas neapsaugotas nuo rašymo, jis bus ištrintas be raginimo.

    rm: pašalinti nuo rašymo apsaugotą įprastą tuščią failą "failo pavadinimas"?

  • Norėdami ištrinti kelis failus vienu metu, naudokite komandą rm, po kurios nurodykite failų pavadinimus, atskirtus tarpu.

    rm failo pavadinimas1 failo pavadinimas2 failo pavadinimas3

    Taip pat galite naudoti pakaitos simbolį (*) ir reguliariąsias išraiškas, kad atitiktumėte kelis failus. Pavyzdžiui, norėdami ištrinti visus failus su .pdf plėtiniu dabartiniame kataloge, naudokite šią komandą:

    rm *.pdf

    Kai naudojate rm su pakaitos simboliais (*) ir įprastais plėtiniais, rekomenduojama pateikti failų sąrašą naudojant komandą ls, kad galėtumėte pamatyti, kurie failai bus pašalinti prieš paleisdami komandą rm.

  • Naudokite parinktį -i, kad patvirtintumėte kiekvieną failą prieš ištrindami:

    rm -i failo pavadinimas (-ai)

  • Norėdami ištrinti failus be raginimo, net jei failai yra apsaugoti nuo įrašymo, naudokite parinktį -f (force):

    rm -f failo pavadinimas (-ai)

  • Taip pat galite derinti rm parinktis. Pavyzdžiui, norėdami ištrinti visus .txt failus dabartiniame kataloge be raginimo išsamiu režimu, naudokite šią komandą:

    rm -fv *.txt

Kaip ištrinti katalogus (aplankus)

  • Norėdami pašalinti tuščią katalogą, naudokite parinktį -d.

    rm -d dirname

  • Norėdami pašalinti netuščius katalogus ir visus juose esančius failus, naudokite parinktį r (rekursyvus).

    rm -r dirname

    Jei katalogas arba failas kataloge yra apsaugotas nuo įrašymo, būsite paraginti patvirtinti ištrynimą.

  • Jei norite pašalinti netuščius katalogus ir visus failus be raginimo, naudokite r (rekursyvų) ir parinktį -f.

    rm -rf dirname

  • Norėdami pašalinti kelis katalogus vienu metu, naudokite komandą rm, po kurios nurodykite katalogų pavadinimus, atskirtus tarpu.

    rm -r dirname1 dirname2 dirname3

    Kaip ir failuose, taip pat galite naudoti pakaitos simbolius (*) ir reguliariąsias išraiškas, kad atitiktumėte kelis katalogus.

Išvada

Iki šiol turėtumėte gerai suprasti, kaip naudoti komandą rm Linux sistemoje, ir turėtumėte turėti galimybę saugiai ištrinti failus ir katalogus naudodami komandų eilutę.

rm ir rmdir komandos ištrina failus ir katalogus „Linux“, „MacOS“ ir kitose „Unix“ tipo operacinėse sistemose. Jie yra panašūs į del ir deltree komandas Windows ir DOS. Šios komandos yra labai galingos ir turi nemažai galimybių.

Svarbu pažymėti, kad failai ir katalogai, ištrinti naudojant rm ir rmdir, neperkeliami į šiukšliadėžę. Jie nedelsiant pašalinami iš kompiuterio. Jei netyčia ištrynėte failus naudodami šias komandas, galėsite juos atkurti tik iš atsarginės kopijos.

Kaip ištrinti failus naudojant rm

Paprasčiausias atvejis yra ištrinti vieną failą dabartiniame kataloge. Įveskite komandą rm, tarpą ir failo, kurį norite ištrinti, pavadinimą.

Rm failas_1.txt

Jei failo nėra dabartiniame darbo kataloge, nurodykite kelią į failo vietą.

Rm ./path/to/the/file/file_1.txt

rm galite perduoti daugiau nei vieną failo pavadinimą. Tai ištrina visus nurodytus failus.

Rm failas_2.txt failas_3.txt

Pakaitos simbolius galima naudoti norint pasirinkti naikintinų failų grupes. Pasirašyti * reiškia kelis simbolius ir simbolį ? reiškia vieną simbolį. Ši komanda ištrins visus png vaizdo failus dabartiniame darbiniame kataloge.

Rm * .png

Ši komanda ištrins visus failus su tuo pačiu simbolio plėtiniu. Pavyzdžiui, bus ištrinti failai.1 ir failai.2, bet ne failai.12.

Rm *.?

Jei failas yra apsaugotas nuo įrašymo, būsite paraginti jį ištrinti. Turite atsakyti su y arba n ir paspauskite "Enter".

Norėdami sumažinti rm naudojimo su pakaitos simboliais riziką, naudokite parinktį -i(interaktyvus). Norėdami tai padaryti, turite patvirtinti kiekvieno failo ištrynimą.

Rm -i * .dat

Variantas -f(jėga) yra interaktyvumo priešingybė. Jis neprašo patvirtinimo, net jei failai yra apsaugoti nuo rašymo.

Rm -f failo pavadinimas

Kaip pašalinti katalogus naudojant rm

Norėdami pašalinti tuščią katalogą, naudokite parinktį -d(katalogas). Katalogų pavadinimuose galite naudoti pakaitos simbolius (* ir ?), kaip ir failų pavadinimuose.

Rm -d katalogas

Pateikus daugiau nei vieną katalogo pavadinimą, pašalinami visi nurodyti tušti katalogai.

Rm -d katalogas1 katalogas2 /kelias/į/katalogas3

Norėdami pašalinti netuščius katalogus, naudokite parinktį -r(rekursyvus). Kad būtų aišku, tai ištrina katalogus ir visus juose esančius failus bei pakatalogius.

Rm -r katalogas1 katalogas2 katalogas3

Jei katalogas arba failas yra apsaugotas nuo įrašymo, būsite paraginti patvirtinti ištrynimą. Norėdami pašalinti netuščius katalogus ir neleisti šiuos raginimus, naudokite parinktis kartu -r(rekursyvus) ir -f(priverstas).

Rm -rf katalogas

Čia reikia būti atsargiems. Komandos klaida rm -rf gali sukelti duomenų praradimą arba sistemos gedimą. Tai pavojinga, o atsargumas yra geriausia politika. Norėdami sužinoti apie katalogo struktūrą ir failus, kuriuos ištrins rm -rf, naudokite medžio komandą.

Naudokite apt-get, kad įdiegtumėte šį paketą savo sistemoje, jei naudojate Ubuntu arba kitą Debian pagrindu sukurtą platinimą. Kituose Linux platinimuose naudokite savo Linux platinimo paketų valdymo įrankį.

Sudo apt-get install medis

Vykdant medžio komandą sukuriama lengvai suprantama katalogo struktūros ir failų, esančių kataloge, iš kurio ji vykdoma, diagrama.

Taip pat galite nurodyti medžio komandos kelią, kad ji paleistų medį iš kito failų sistemos katalogo.

Medžio kelias/į/katalogas

Komandoje rm taip pat yra parinkčių --one-file-system , --no-preserve-root , --preserve-root, tačiau jos rekomenduojamos tik pažengusiems vartotojams. Jei ką nors padarysite ne taip, galite netyčia ištrinti visus sistemos failus.

Kaip pašalinti katalogus naudojant rmdir

Yra dar viena komanda rmdir, kurią galite naudoti norėdami pašalinti katalogus. Skirtumas tarp rm ir rmdir yra tas, kad rmdir gali ištrinti tik tuščius katalogus. Jis niekada neištrins failų.

Paprasčiausias atvejis yra ištrinti vieną tuščią katalogą. Kaip ir rm , galite perduoti kelis katalogų pavadinimus rmdir arba rmdir katalogo kelią.

Pašalinkite vieną katalogą dabartiniame kataloge, perduodami jo pavadinimą į rmdir:

Rmdir katalogas

Pašalinkite kelis katalogus perduodami vardų sąrašą į rmdir:

Rmdir katalogas1 katalogas2 katalogas3

Pašalinkite katalogą, kurio nėra dabartiniame kataloge, nurodydami visą kelią į tą katalogą:

Rmdir /kelias/į/katalogas

Jei bandysite ištrinti aplanką, kuris nėra tuščias, rmdir pateiks klaidos pranešimą. Šiame pavyzdyje rmdir sėkmingai ir tyliai ištrina klientų katalogą, bet atsisako ištrinti projektų katalogą, nes jame yra failų. Projektų katalogas išlieka toks pat, koks buvo, o failai jame nepaliesti.

Kai rmdir pateikia klaidą „Katalogas nėra tuščias“, jis nustoja apdoroti komandinėje eilutėje jam perduotus katalogus. Jei paprašėte ištrinti keturis katalogus ir pirmame buvo failai, rmdir pateiks klaidos pranešimą ir nieko daugiau nedarys. Galite priversti jį ignoruoti šias klaidas naudodami --ignore-fail-on-non-empty, kad apdorotumėte kitus katalogus.

Šiame pavyzdyje du aplankai buvo perkelti į rmdir, tai yra darbas / ataskaitos ir darbas / citatos. Į komandą įtraukta parinktis --ignore-fail-on-non-empty. Darbo / ataskaitų aplanke yra failų, todėl rmdir negali jų ištrinti. Parinktis --ignore-fail-on-non-empty priverčia rmdir ignoruoti klaidą ir pereiti prie kito aplanko, kurį turi apdoroti, ty work/quotes. Tai tuščias aplankas ir rmdir jį ištrina.

Ši komanda buvo panaudota.

Rmdir – ignoruoti-netuščias darbas/ataskaitos/darbas/citatos

Galite naudoti parinktį -p(parent), kad pašalintumėte katalogą ir jo pirminius katalogus. Šis triukas veikia, nes rmdir prasideda tiksliniame kataloge ir grįžta atgal į pirminį. Dabar šis katalogas turėtų būti tuščias, kad jį būtų galima pašalinti naudojant rmdir ir procesas kartoja žingsnį atgal rmdir nurodytu keliu.

Šiame pavyzdyje komanda, perduota rmdir, yra tokia:

Rmdir -p darbai/sąskaitos faktūros

Paprašius, sąskaitos faktūros ir darbų katalogai ištrinami.

Ar naudojate Bash ar bet kokį kitą apvalkalą? „Linux“ teikia lanksčias ir galingas komandas, skirtas katalogams ir failams ištrinti tiesiai iš terminalo komandų eilutės. Kai kurie žmonės nori, kad darbo eiga būtų aplink terminalą. Kiti gali neturėti kito pasirinkimo šiuo klausimu. Jie gali veikti serveriuose be įdiegtos GUI arba nuotoliniu būdu atskiroje sistemoje, pvz., Raspberry Pi. Šios komandos puikiai tinka šiai žmonių grupei.

Bet kad ir kokio tipo darbo eiga jums labiau patinka, šios komandos puikiai tinka jas įtraukti į apvalkalo scenarijus. Jei scenarijų paleidžia cron užduotis, jis gali padėti automatizuoti įprastas namų tvarkymo užduotis, pvz., išvalyti nepageidaujamus žurnalo failus. Jei tyrinėjate šį naudojimo atvejį, žinokite apie šių komandų galią, atidžiai patikrinkite viską ir visada pasidarykite atsarginę kopiją.

Operacinės sistemos, pagrįstos Linux branduoliu, paprastai saugo daug tuščių ir netuščių katalogų. Kai kurie iš jų užima gana daug vietos saugykloje ir dažnai tampa nereikalingi. Šiuo atveju teisingas pasirinkimas būtų juos pašalinti. Yra keli valymo būdai, kiekvienas iš jų tinkamas konkrečioje situacijoje. Pažvelkime į visus galimus būdus išsamiau, o jūs išsirinksite tinkamiausią pagal savo poreikius.

Šiame straipsnyje kalbėsime apie konsolės komunalines paslaugas ir papildomus įrankius, kurie paleidžiami įvedant komandas. Tačiau nepamirškite, kad grafiniai apvalkalai dažnai diegiami platinimuose. Atitinkamai, norėdami ištrinti katalogą, tereikia eiti į jį per failų tvarkyklę, dešiniuoju pelės mygtuku spustelėkite piktogramą ir pasirinkite "Ištrinti". Po to nepamirškite ištuštinti šiukšlių. Tačiau ši parinktis bus taikoma ne visiems vartotojams, todėl rekomenduojame perskaityti šiuos vadovus.

Prieš pradedant žiūrėti metodus, svarbu atkreipti dėmesį į tai, kad įvesdami komandą dažniausiai savarankiškai nurodysite aplanko, kurį norite ištrinti, pavadinimą. Kai nesate jo vietoje, turite pateikti visą kelią. Jei įmanoma, rekomenduojame išsiaiškinti pagrindinį objekto katalogą ir pereiti į jį per konsolę. Šis veiksmas baigiamas vos per kelias minutes:


Jei negalite nustatyti vietos, ištrindami turėsite patys įvesti visą kelią, todėl turėsite jį žinoti.

1 būdas: standartinės terminalo komandos

Bet kurio Linux platinimo komandų apvalkale yra pagrindinių paslaugų ir įrankių rinkinys, leidžiantis atlikti įvairius veiksmus su sistemos nustatymais ir failais, įskaitant katalogų trynimą. Yra keletas tokių paslaugų ir kiekviena iš jų bus naudingiausia tam tikroje situacijoje.

rmdir komanda

Pirmiausia norėčiau paliesti rmdir. Jis skirtas išvalyti sistemą tik iš tuščių katalogų. Pašalina juos visam laikui, o šio įrankio pranašumas yra jo sintaksės paprastumas ir klaidų nebuvimas. Konsolėje tiesiog parašykite rmdir aplanką , kur aplanką— dabartinėje vietoje esančio aplanko pavadinimas. Įrankis įjungiamas paspaudus mygtuką Įeikite.

Niekas netrukdo nurodyti viso katalogo kelio, jei negalite nueiti į norimą vietą arba to nereikia. Tada eilutė įgauna, pavyzdžiui, tokią formą: rmdir /home/user/folder/folder1 , kur Vartotojas- Vartotojo vardas, aplanką yra pirminis katalogas ir aplankas1- aplankas, kurį norite ištrinti. Atkreipkite dėmesį, kad prieš namus turi būti pasvirasis brūkšnys, tačiau tako pabaigoje neturi būti pasvirojo brūkšnio.

rm komanda

Ankstesnis įrankis yra vienas iš rm programos komponentų. Iš pradžių ketinama ištrinti failus, bet jei pateikiate atitinkamą argumentą, jis taip pat ištrins aplanką. Ši parinktis jau tinka netuštiems katalogams, tokiu atveju į konsolę turite įvesti aplanką rm -R (arba visą kelią į katalogą). Atkreipkite dėmesį į argumentą -R- jis pradeda rekursyvų trynimą, tai yra, jis paveikia visą aplanko turinį ir jį patį. Įvedant būtina skirti didžiąsias ir mažąsias raides, nes -r– tai visai kitas variantas.

Jei norite rodyti visų ištrintų failų ir aplankų sąrašą naudodami rm, turėsite šiek tiek pakeisti eilutę. Įeikite "Terminalas" rm -Rfv aplanką ir suaktyvinkite komandą.

Kai ištrynimas bus baigtas, bus rodoma informacija apie visus katalogus ir atskirus objektus, kurie anksčiau buvo nurodytoje vietoje.

rasti komandą

Mūsų svetainėje jau yra medžiagos su Find naudojimo pavyzdžiais operacinėse sistemose, sukurtose Linux branduolyje. Žinoma, ten pateikiama tik pagrindinė ir naudingiausia informacija. Su juo galite susipažinti paspaudę šią nuorodą, o dabar siūlome sužinoti, kaip šis įrankis veikia, kai reikia ištrinti katalogus.

  1. Kaip žinoma, rasti padeda ieškoti objektų sistemoje. Naudodami papildomas parinktis galite rasti katalogus konkrečiu pavadinimu ir iš karto juos ištrinti. Norėdami tai padaryti, konsolėje įveskite rasti. -type d -name "aplankas" -exec rm -rf () \;, kur aplankas yra katalogo pavadinimas. Tai darydami būtinai parašykite dvigubas kabutes.
  2. Atskiroje eilutėje kartais rodoma informacija, kad tokio failo ar katalogo nėra, tačiau tai nereiškia, kad jis nerastas. Tiesiog rasti ištrynus katalogą iš sistemos vėl veikė.
  3. find ~/ -empty -type d -delete leidžia ištrinti visus tuščius sistemos aplankus. Kai kurie iš jų yra prieinami tik supervartotojui, todėl anksčiau rasti Sudo reikia pridėti.
  4. Ekrane pasirodys duomenys apie visus rastus objektus ir operacijos sėkmę.
  5. Taip pat galite nurodyti tik konkretų katalogą įrankiui ieškoti ir išvalyti. Tada eilutė atrodys, pavyzdžiui, taip: rasti /home/user/Folder/ -empty -type d -delete .

Tai užbaigia sąveiką su standartinėmis konsolės programomis Linux sistemoje. Kaip matote, jų yra daug ir kiekvienas tinka tam tikrose situacijose. Jei norite susipažinti su kitomis populiariomis komandomis, skaitykite mūsų atskirą medžiagą žemiau esančioje nuorodoje.

Komanda rmdir padės mums ištrinti tuščią katalogą, tai yra katalogą be failų ir aplankų. Komandos sintaksė labai paprasta:

Rmdir DIRNAME

Jei katalogas nėra tuščias, pamatysite šį klaidos pranešimą.

$ rmdir testas rmdir: nepavyko pašalinti „test“: Katalogas nėra tuščias

2. Kaip ištrinti įdėtus katalogus Linux?

Naudojant parinktį -p galite ištrinti katalogą su jame įdėtu pakatalogiu.

$ rmdir -p dir1 / dir2 / dir3

Komanda rmdir -p dir1 / dir2 / dir3 tai yra komandos atitikmuo

$ rmdir dir1 / dir2 / dir3 dir1 / dir2 dir1

3. Turinio katalogo ištrynimas

Jei reikia ištrinti katalogą su turiniu, galite naudoti komandą rm:

$ rm -rf DIRNAME

Ši komanda ištrins katalogą, įskaitant visus jame esančius failus ir pakatalogius. Naudokite šią komandą atsargiai, nes ištrintų failų atkūrimas nebus lengva procedūra.

4. Interaktyvus pašalinimas

Kad netyčia neištrintumėte būtinų failų, rekomenduoju apsvarstyti galimybę naudoti parinktį -i, kad galėtumėte interaktyviai ištrinti failus ir aplankus (ypač su root teisėmis).

Rekursyvus ir interaktyvus katalogų trynimas.

# rm -ir DIRNAME

Interaktyvus failo ištrynimas.

# rm -i FILENAME

5. Naudingi rm ir rmdir komandų slapyvardžiai

Galite naudoti interaktyvų trynimą kaip numatytąjį komandos rm elgesį.

Pseudonimas nuolatiniam interaktyviam RM vykdymui

# slapyvardis rm="rm -i"

Kai naudojate komandą rm komanda iš tikrųjų bus įvykdyta rm -i. Tačiau reikia atkreipti dėmesį į vieną niuansą. Ateityje nenaudokite -i parinkties, nes nepasieksite norimo efekto. Pažiūrėkime į pavyzdį:

Šioje komandoje naudojant -i laukiamo efekto nebus..

$ rm -irf DIRNAME

Tokiu atveju, naudojant slapyvardį, aukščiau pateikta komanda turi būti vykdoma taip:

$ rm -rf DIRNAME

Visos toliau pateiktos komandos yra lygiavertės ir atlieka tas pačias funkcijas.

  • rm-fr
  • rm -rf
  • rm -r -f
  • rm -f -r

Jeigu Jums reikalingas pastato ekspertinis įvertinimas, rekomenduoju užsakyti gatavų pastatų apžiūrą Technoplast tyrimų ir gamybos centro specialistams

Laba diena, mieli skaitytojai. Šiandien norėčiau pakalbėti apie katalogo ištrynimą PHP. Atrodytų, operacija nesudėtinga, tačiau yra keletas niuansų. Pažiūrėkime, kaip tai padaryti.

PHP turi tam skirtą funkciją rmdir (). Kaip argumentas naudojamas kelias į katalogą, kurį norite ištrinti. Tačiau katalogas turi būti tuščias- tai yra pagrindinė sąlyga (išskyrus tai, kad vartotojas, iš kurio veikia žiniatinklio serveris, turi turėti rašymo teises į katalogą). Jei failai yra patalpinti į katalogą, iškviečiant funkciją gausime klaidą. Atitinkamai, mes darome išvadą, kad katalogas prieš naudojant funkciją rmdir () pirmiausia reikia išvalyti.

Internete jie pataria parašyti funkciją, kuri kaip argumentą perduos kelią į katalogą, kurį turime ištrinti. Funkcijos turinyje būtina sutvarkyti katalogo turinio sąrašą, kurio metu patikrinama, ar failas yra katalogas. Jei failas yra katalogas, funkcija iškviečia save pagal šią sąlygą. Tai būtina norint išvalyti įdėtus katalogus, ir jis veiks visais įdėjimo lygiais. Kitu atveju funkcija taikoma failui atsieti ()- jis skirtas failams ištrinti. Be šio patikrinimo, paskutiniame veiksme ištriname katalogą.

Diegimo pavyzdys:

Funkcija recursiveRemoveDir($dir) ( $includes = glob($dir."/*"); foreach ($includes as $include) ( if(is_dir($include)) ( recursiveRemoveDir($include); ) else ( unlink $include); ) rmdir($dir ) //Pašalinti tmp katalogą iš esamo katalogo recursiveDir("tmp");
Kokių problemų turi šis kodas?

Paprastais atvejais katalogas su visais priedais bus ištrintas. Bet tarkime, kad mūsų kataloge yra paslėptas failas, kuris prasideda tašku, pavyzdžiui, .htaccess. Funkcija glob () yra UNIX glob pakaitalas, kuris pagal numatytuosius nustatymus neapima paslėptų failų (DOTFILES). Pavyzdžiui, jei eisime į nix terminalą ir naudosime bash, susidursime su ta pačia problema (kalbame apie paslėptus failus globsuose). Šiai problemai išspręsti yra bash komanda: shopt -s dotglob- leidžia pakeisti paslėptus failus visame pasaulyje. PHP tai gali būti išspręsta pridedant papildomą parametrą GLOB_BRACE Dėl glob () ir išplečiant modelį nuo pirmojo funkcijos parametro.

$includes = glob("tmp/(,.)*", GLOB_BRACE);
Ir čia taip pat yra problema - susidursime su begaliniu ciklu, nes masyvas apims reikšmes. ir.. – kuris yra dabartinis ir pirminis katalogas sistemos lygiu. Galų gale turėsime begalinę kilpą (ir neištrinsime visų pirminių katalogų), nes. kaip numatytojo rūšiavimo dalis, sugeneruotas masyvas bus pirmas.. – tai yra kiekvieną kartą, kai prieisime prie to paties katalogo. Norėdami išspręsti problemą, iš šių sistemos katalogų sudarysime masyvą ir cikle pašalinsime jų indeksus iš pagrindinio masyvo. Taip pat yra simbolinių nuorodų problema. Tarkime, kad ištrinamame kataloge yra nuoroda į kitą katalogą, kurio turinio mes visiškai nesuinteresuoti ištrinti. Norint išspręsti problemą, prieš kuriant rekursiją būtina patikrinti, ar esybė nėra nuoroda.

Dėl to funkcija įgyja tokią formą:

Funkcija recursiveRemoveDir($dir) ( $includes = glob($dir."/(,.)*", GLOB_BRACE); $systemDots = preg_grep("/\.+$/", $includes); foreach ($systemDots as $index => $taškas) ( unset($includes[$index]); ) foreach ($includes as $include) ( if(is_dir($include) && !is_link($include)) ( recursiveRemoveDir($include); ) else ( unlink($include); ) ) rmdir($dir) //Pašalinti tmp katalogą iš dabartinio katalogo recursiveRemoveDir("tmp");
Kodas veikia, bet iš tikrųjų jis galėjo būti paprastesnis. PHP yra klasė FilesystemIterator, kuri pagal numatytuosius nustatymus jau turi mums reikalingus nustatymus. Kelias į katalogą, kurio sąrašo mums reikia, perduodamas konstruktoriui. Mums tereikia sukurti objektą.

Funkcija recursiveRemoveDir($dir) ( $includes = new FilesystemIterator($dir); foreach ($includes as $include) ( if(is_dir($include) && !is_link($include)) ( recursiveRemoveDir($include); ) else ( unlink($include); ) ) rmdir($dir) //Pašalinti tmp katalogą iš dabartinio katalogo recursiveRemoveDir("tmp");
Baigdamas norėčiau atkreipti dėmesį į dar vieną greitą būdą. Jo naudojimo teisingumas labai abejotinas – komandą vykdymui nusiųskite į SHELL.

System ("rm -rf tmp");
Noriu atkreipti dėmesį į didelį atminties suvartojimą ir į tai, kad administratoriai dažnai draudžia naudoti tokias funkcijas serveryje saugumo sumetimais.

Žymos: php, rmdir, glob, recursion

Dalintis