Download a zip folder of selected files

I'm trying to download multiple files from the server in a zipped folder. Here is the code I have thus far:

HTML

form method="post"
    input type="checkbox" name="checked[]" value="?php echo $path; ?"
    input type="submit" name="download" value="Download Selected"
/form

PHP:

if(isset($_POST['download'])){
     $files = $_POST['checked'];
     foreach ($files as $file ) {

    if(file_exists($_SERVER['DOCUMENT_ROOT'].'/upload/folder/'. $file)){
        require_once(ABSPATH . "wp-admin" . '/includes/file.php');
        $full_path = $_SERVER['DOCUMENT_ROOT'].'/bcg/wp-content/uploads/'. $file;
        download_url($full_path);
    }
    else {
        echo 'file doesnt exist';
    }   
  } 
}

Topic wp-filesystem ziparchive server Wordpress

Category Web


remove the brackets from your name="checked" It should just be <input type="checkbox" name="checked" value="<?php echo $path; ?>">

Which would only return one value, so you cant do a foreach loop on one value. You need multiple input fields and then put those values into an array to use in the foreach loop

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.