The closest is the WP Filesystem API, but that’s mainly intended for compatibility purposes, e.g. to enable files to be written when the only access is via FTP and direct filesystem write access is unavailable.
Particularly: https://developer.wordpress.org/reference/classes/wp_filesystem_base/dirlist/
However, if you are not distributing this code and only using it for yourself or known environments, you can use standard PHP APIs.
Note that you will need to perform some recursion to achieve this task, and there are costs to doing this, especially if the filesystem specified for WordPress involves remote requests such as FTP/S3/etc
Related Posts:
- Correct Syntax for uploading files to custom directory in WordPress
- How to change upload directory in wp_handle_upload
- Decrease file size upload in Media
- Adding a custom image upload size and making it selected by default?
- Change the filename format of saved featured images
- Image Upload “exceeds the maximum upload size for this site”, but php.ini is correct
- How to register images uploaded via FTP in media library?
- Failed media upload: “The uploaded file was only partially uploaded.”
- Namespacing WordPress project according to FIG standards
- Create Image Uploader for Widget
- Using file_exists to check file in Uploads
- Rename image uploads replacing “width” and “height” in filename with “medium”, “large”, “small”
- Rename image uploads with width in filename
- Modify image while uploading
- Debugging upload problem: What part of WP does actual image-resizing?
- How to resize image on client-side before upload?
- Does wordpress allow me to add a php file to the root directory to execute custom scripts?
- How to upload imagick resource to media in wordpress
- Accessing a random image via ajax
- Make WordPress upload directory outside wordpress root with custom url
- Is it unsafe to put php in the /wp-content/uploads directory?
- Upload images and attachments from frontend form
- WordPress media upload “HTTP error”
- Adding featured image via PHP
- How to enlarge the media file upload size in wordpress admin
- Restrict WordPress File Type Uploads by User Type
- File upload, uploads only file name
- Modify Maximum upload file size text
- Adding a querystring to an image URL when clicking ‘insert into post’?
- Upload a json file in php [closed]
- Custom image upload
- wp_handle_upload – The uploaded file could not be moved to wp-content/uploads/2012/09
- is it possible to force wordpress to always save thumbnails as ‘jpg’ not ‘png’
- Memory errors with media upload, WordPress can’t use more than 96M (while there’s 512 available!)
- Get most recent media upload
- Convert all images to PNG on file upload
- Upload Image in a WordPress page using PHP
- WordPress (3.9.1) MultiSite Permissions. Is chown the answer?
- Randomise upload filenames (or another solution to hide the original image URL from theft?)
- Using file_get_contents with Gravity Forms uploads folder to create images in the media library returning false
- how to retrieve uploaded url of zip files
- Custom location for attached images
- Using a `Template Parts` folder instead of an `Includes` folder in a Custom WordPress Theme
- Why is $_REQUEST an empty array in admin-ajax.php?
- Correct folder permissions?
- Need help with Google drive API [closed]
- Can’t upload image using media_sideload_image
- subdirectory index.php is not working
- Upload file could not be moved to wp-content/uploads
- Change WordPress Upload Folder using wp handle upload
- How do I Import / Upload Files with jQuery AJAX?
- WordPress function when file is uploaded, deleted or edited
- Can I get an email notification when media is uploaded to the media library?
- PHP in CSS file?
- Upload multiple files in randomly generated folder using wp_upload_bits
- Can’t upload CSV file to plugin directory using custom upload form in admin panel
- WordPress upload file size error even after raising php limits
- Get featured image with custom size outside WordPress
- Images Uploaded saving onto older/previous year folders
- How do I increase the upload size only when editing special pages?
- Get URL of Featured Image After wp_insert_post()
- Custom upload folder
- WordPress İmages Upload & Delete Error
- Allow user to Upload image and manipulate it on the frontend
- How to Make Thumbnail of Post Stay Animated
- How to decrease the max file upload size without using php.ini or htaccess?
- Some problems in custom widget
- Checking page before applying image restrictions while uploading
- Change image data durgin upload
- Hook on file upload
- Problem with inserting multiple images in gallery of each WooCommerce product programmatically
- I can’t set image ad fatured programatically
- How can I update WordPress plugins or WordPress itself in all server?
- async upload not working when not logged
- WordPress loading all local images from specific directory?
- Trying to generate a CSS file in wordpress uploads folder
- New user – Create a folder
- Maximum file Upload
- Change upload URL by mime type
- Right path for renaming a file in uploads folder
- I want url from a file in media using title file
- WordPress file upload
- Upload images from one server to an other in wordpress
- Crop an image after upload on custom account page
- Restrict File Type Uploads by User on Wordress via functions.php
- wp_delete_attachment not working with multiple values
- Resource 404 error on multisite subdirectory install
- Renaming “Expand Details” within “Add Media”
- Save the outputted image into the Media Library, with a different filename and extension
- 403 (Forbidden) delete file image in themer folder
- How to resize an image server-side before upload?
- Permission functions within wordpress
- Name Input from widget displays Sidebar name instead of saved data
- Can’t upload files
- Edit Image/Image Details – Replace button missing
- Can I have a php site on subdirectory of WordPress?
- How to automatically convert images to WebP on WordPress?
- Upload multiple files via ajax from an HTML file input
- get_post_meta returns on side but it doesn’t return on bottom of admin page
- “Unexpected response from server” error when trying to upload any .mp4 file over 100MB