How to recursively delete a directory and all its contents (files + subdirectories) in PHP?

| | | | | | | | | |

👻 Check our latest review to choose the best laptop for Machine Learning engineers and Deep learning tasks!

PHP function to delete all files:The following code first passes the path to the directory to be deleted. It checks if the file or directory to be deleted exists, in fact / exists or not. If it exists, it will open the file and check if there is something in that file or not. If not, then remove the directory using the rmdir directory. But if any other files are present in the directory, then it will delete the files using the unlink function except. and .. files, which mean system files. After removing all content, just use the rmdir function to completely remove the directory.Example : < ? php
// Variable to store the directory name
// to be removed $folder = ’temporary_files’ ;
// Get a list of all filenames // in the folder. $files = glob ( $folder . ’/ *’ );
// Loop through the list of files foreach ( $files as $file ) { // Check for file if ( is_file ( $file )) { // Use the unlink function for // delete the file. unlink (
$file ); } }
?>
  • Before deleting files:
  • After deleting files:
Description :
  • The above example removes all files from the folder named "temp‚".
  • List the files in this directory using the PHP glob function. The glob function basically "finds paths that match a certain pattern". In this case, use the * (asterisk) wildcard to select everything in the temp folder.
  • The glob function returns an array of filenames that are in the specified folder.
  • Loop over this array.
  • Using the is_file function to check if it is a file and not a parent directory or subdirectory.
  • Finally, use the unlink function, which removes the file (if PHP has valid permissions - if not, it will throw an E_WARNING error and return the Boolean value FALSE).
  • Remove all files and subdirectories in a directory.To remove all files and subdirectories in all subdirectories, we can use recursion. Here is an example of a recursive PHP function that deletes every file and folder in the specified directory.Example :
    // Function for deleting all files
    // and directories function deleteAll ( $str ) { // Check files if ( is_file ( $str )) { // If this is a file, then delete // using the unlink function return unlink ( $str ); } // If it’s a directory. elseif ( is_dir ( $str )) { // Get a list of files in this // directory $scan = glob (rtrim ( $str , ’/’ ). ’/ *’ ); // Loop through the list of files foreach ( $scan as $index = > $path ) { // Call a recursive function deleteAll ( $path ); } // Delete the directory itself return @ rmdir ( $str ); } }
    // function call deleteAll ( ’temporary_files’ );
    ?>
    Output:
    • Before deleting the directory:
    • After deleting the directory:the directory is completely deleted.
    The function checks if the variable represents $str is the path to the file, then deletes the file using the unlink function. However, if $str represents a directory, it gets a list of all files in the specified directory before deleting each one. Finally, it removes the subdirectory itself using the PHP rmdir function.

    👻 Read also: what is the best laptop for engineering students?

    How to recursively delete a directory and all its contents (files + subdirectories) in PHP? __del__: Questions

    How can I make a time delay in Python?

    5 answers

    I would like to know how to put a time delay in a Python script.

    2973

    Answer #1

    import time
    time.sleep(5)   # Delays for 5 seconds. You can also use a float value.
    

    Here is another example where something is run approximately once a minute:

    import time
    while True:
        print("This prints once a minute.")
        time.sleep(60) # Delay for 1 minute (60 seconds).
    

    2973

    Answer #2

    You can use the sleep() function in the time module. It can take a float argument for sub-second resolution.

    from time import sleep
    sleep(0.1) # Time in seconds
    

    How to recursively delete a directory and all its contents (files + subdirectories) in PHP? __del__: Questions

    How to delete a file or folder in Python?

    5 answers

    How do I delete a file or folder in Python?

    2639

    Answer #1


    Path objects from the Python 3.4+ pathlib module also expose these instance methods:

    2639

    Answer #2


    Path objects from the Python 3.4+ pathlib module also expose these instance methods:

    2639

    Answer #3

    Python syntax to delete a file

    import os
    os.remove("/tmp/<file_name>.txt")
    

    Or

    import os
    os.unlink("/tmp/<file_name>.txt")
    

    Or

    pathlib Library for Python version >= 3.4

    file_to_rem = pathlib.Path("/tmp/<file_name>.txt")
    file_to_rem.unlink()
    

    Path.unlink(missing_ok=False)

    Unlink method used to remove the file or the symbolik link.

    If missing_ok is false (the default), FileNotFoundError is raised if the path does not exist.
    If missing_ok is true, FileNotFoundError exceptions will be ignored (same behavior as the POSIX rm -f command).
    Changed in version 3.8: The missing_ok parameter was added.

    Best practice

    1. First, check whether the file or folder exists or not then only delete that file. This can be achieved in two ways :
      a. os.path.isfile("/path/to/file")
      b. Use exception handling.

    EXAMPLE for os.path.isfile

    #!/usr/bin/python
    import os
    myfile="/tmp/foo.txt"
    
    ## If file exists, delete it ##
    if os.path.isfile(myfile):
        os.remove(myfile)
    else:    ## Show an error ##
        print("Error: %s file not found" % myfile)
    

    Exception Handling

    #!/usr/bin/python
    import os
    
    ## Get input ##
    myfile= raw_input("Enter file name to delete: ")
    
    ## Try to delete the file ##
    try:
        os.remove(myfile)
    except OSError as e:  ## if failed, report it back to the user ##
        print ("Error: %s - %s." % (e.filename, e.strerror))
    

    RESPECTIVE OUTPUT

    Enter file name to delete : demo.txt
    Error: demo.txt - No such file or directory.
    
    Enter file name to delete : rrr.txt
    Error: rrr.txt - Operation not permitted.
    
    Enter file name to delete : foo.txt
    

    Python syntax to delete a folder

    shutil.rmtree()
    

    Example for shutil.rmtree()

    #!/usr/bin/python
    import os
    import sys
    import shutil
    
    # Get directory name
    mydir= raw_input("Enter directory name: ")
    
    ## Try to remove tree; if failed show an error using try...except on screen
    try:
        shutil.rmtree(mydir)
    except OSError as e:
        print ("Error: %s - %s." % (e.filename, e.strerror))
    

    Is there a simple way to delete a list element by value?

    5 answers

    I want to remove a value from a list if it exists in the list (which it may not).

    a = [1, 2, 3, 4]
    b = a.index(6)
    
    del a[b]
    print(a)
    

    The above case (in which it does not exist) shows the following error:

    Traceback (most recent call last):
      File "D:zjm_codea.py", line 6, in <module>
        b = a.index(6)
    ValueError: list.index(x): x not in list
    

    So I have to do this:

    a = [1, 2, 3, 4]
    
    try:
        b = a.index(6)
        del a[b]
    except:
        pass
    
    print(a)
    

    But is there not a simpler way to do this?

    1055

    Answer #1

    To remove an element"s first occurrence in a list, simply use list.remove:

    >>> a = ["a", "b", "c", "d"]
    >>> a.remove("b")
    >>> print(a)
    ["a", "c", "d"]
    

    Mind that it does not remove all occurrences of your element. Use a list comprehension for that.

    >>> a = [10, 20, 30, 40, 20, 30, 40, 20, 70, 20]
    >>> a = [x for x in a if x != 20]
    >>> print(a)
    [10, 30, 40, 30, 40, 70]
    

    We hope this article has helped you to resolve the problem. Apart from How to recursively delete a directory and all its contents (files + subdirectories) in PHP?, check other __del__-related topics.

    Want to excel in Python? See our review of the best Python online courses 2022. If you are interested in Data Science, check also how to learn programming in R.

    By the way, this material is also available in other languages:



    Anna Williams

    Warsaw | 2022-11-26

    Simply put and clear. Thank you for sharing. How to recursively delete a directory and all its contents (files + subdirectories) in PHP? and other issues with system was always my weak point 😁. Will get back tomorrow with feedback

    Xu Porretti

    Abu Dhabi | 2022-11-26

    __delete__ is always a bit confusing 😭 How to recursively delete a directory and all its contents (files + subdirectories) in PHP? is not the only problem I encountered. Will get back tomorrow with feedback

    Javier Lehnman

    London | 2022-11-26

    __delete__ is always a bit confusing 😭 How to recursively delete a directory and all its contents (files + subdirectories) in PHP? is not the only problem I encountered. Will get back tomorrow with feedback

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically