Hacking with PHP has been updated for PHP 7 - click here! >>

Deleting directories

bool rmdir ( string dirname [, resource context])

PHP has the function rmdir() that takes a directory name as its only parameter and will delete the specified directory. However, there is a minor catch - the directory must be empty otherwise the call will fail. There is not any functionality in PHP to allow you to delete non-empty directories, which means you need to resort to more cunning methods - many people use complex scripts to go through each directory deleting files as they go until finally it is empty, then using rmdir().

I would not recommend that - a far easier method is simply to execute the local directory-deleting program, e.g. "deltree" on Windows, or "rm -rf" on Unix. However, blindly deleting whole directories using scripts is not recommended - if you are sure you want a directory and all its subdirectories gone, check over it one last time then delete it by hand.


If this was helpful, please take a moment to tell others about Hacking with PHP by tweeting about it!

Next chapter: One last directory function >>

Previous chapter: Working with directories

Jump to:


Home: Table of Contents

Copyright ©2015 Paul Hudson. Follow me: @twostraws.