Deleting all files of a directory

We have seen how a file can be deleted by using unlink function in PHP. The same function can be used along with directory handler to list and delete all the files present inside. We have discussed how to display all the files present inside a directory. Now let us try to develop a function and to this function we will post directory name as parameter and the function will use unlink command to remove files by looping through all the files of the directory.

Here is the code to this.
function EmptyDir($dir) {
$handle=opendir($dir);

while (($file = readdir($handle))!==false) {
echo "$file <br>";
@unlink($dir.'/'.$file);
}
closedir($handle);
}
EmptyDir('images');
Here images is the directory name we want to empty

Deleting Selected files through checkboxes

As we know how to display all files of a directory , we will use same concept to fist display the list of files. While displaying the file names we will add one checkbox before it for selection of file by user for deletion. For this we have used one array of checkbox.
echo "<form method=post name='f1' action=''>";
while (list ($key, $val) = each ($ar)) {
if(strlen($val)>3){
echo "<input type=checkbox name=box[] value='$val'>$val<br>";
}
}
echo "<input type=submit value='Delete'></form>";
On submit of the form we can loop through the array of checkbox to identify files which are selected by user.
while (list ($key,$val) = @each ($box)) {
$path=$dir	."/".$val;
if(unlink($path)) echo "Deleted file ";
echo "$val,";
}

Then we will select the path and delete the selected files by using unlink command.

Here is the complete code.

<?Php
$dir='test_dir'; // directory name 
$ar=scandir($dir); 
$box=$_POST['box'];  // Receive the file list from form

// Looping through the list of selected files ///
while (list ($key,$val) = @each ($box)) {
$path=$dir	."/".$val;
if(unlink($path)) echo "Deleted file ";
echo "$val,";
}
echo "<hr>";

/// displaying the file names with checkbox and form ////
echo "<form method=post name='f1' action=''>";
while (list ($key, $val) = each ($ar)) {
if(strlen($val)>3){
echo "<input type=checkbox name=box[] value='$val'>$val<br>";
}
}
echo "<input type=submit value='Delete'></form>";
?>

Marking for deletion

We can modify the above script and instead of deleting the file we can display them with strikeout text showing marked for deletion. On further confirmation from the user same can be deleted.

Listing the files after deleting

In the above code we are reading or scanning all files of the directory by using scandir function.
$ar=scandir($dir);
We are only once using this and after deleting we can again check the directory by using scandir function. So you can add this line after deleting the files.
<?Php
$dir='test_dir'; // directory name 
$ar=scandir($dir); 
$box=$_POST['box'];  // Receive the file list from form

// Looping through the list of selected files ///
while (list ($key,$val) = @each ($box)) {
$path=$dir	."/".$val;
if(unlink($path)) echo "Deleted file ";
echo "$val,";
}
echo "<hr>";
$ar=scandir($dir);// Once again directory content is scanned to exclude deleted files. 
/// displaying the file names with checkbox and form ////
echo "<form method=post name='f1' action=''>";
while (list ($key, $val) = each ($ar)) {
if(strlen($val)>3){
echo "<input type=checkbox name=box[] value='$val'>$val<br>";
}
}
echo "<input type=submit value='Delete'></form>";
?>


File Deleting File Checking if file exists before deleting
PHP
Subscribe to our YouTube Channel here


Subscribe

* indicates required
Subscribe to plus2net

    plus2net.com







    dhiraj chavan

    10-10-2014

    nice...thanx to plus2net
    amir

    01-03-2017

    thanks. the files are deleted, but it has some warning. it can't read 'box'. why ?
    smo1234

    03-03-2017

    Not clear what is the box here, do you have any file name or any thing else. Tested the script it is working fine.
    After deleting the same old files are shown again. So the script is modified to take a fresh scan of directory after deleting the files.

    Post your comments , suggestion , error , requirements etc here





    PHP video Tutorials
    We use cookies to improve your browsing experience. . Learn more
    HTML MySQL PHP JavaScript ASP Photoshop Articles FORUM . Contact us
    ©2000-2024 plus2net.com All rights reserved worldwide Privacy Policy Disclaimer