PHP file that should run once and delete itself. Is it possible?

Yes, it is possible to create a PHP file that deletes itself after execution. This can be achieved using PHP's unlink() function along with the __FILE__ magic constant.

Simple Self-Deletion

The most straightforward approach is to call unlink() at the end of your script ?

<?php
    echo "This script will run once and delete itself.";
    
    // Your main script logic here
    echo "\nScript execution completed.";
    
    // Delete the current file
    unlink(__FILE__);
?>

Using Destructor Method

A more robust approach uses a class destructor to ensure the file is deleted even if the script exits unexpectedly ?

<?php
    class SelfDestruct {
        function __destruct() {
            unlink(__FILE__);
        }
    }
    
    // Create instance to trigger destructor on script end
    $selfDestruct = new SelfDestruct();
    
    echo "Processing important one-time task...";
    
    // Your script logic here
    sleep(2); // Simulate some work
    echo "\nTask completed successfully!";
    
    // File will be deleted automatically when script ends
?>

Key Considerations

When implementing self-deleting scripts, keep these important points in mind ?

  • File Permissions: The script must have write permissions to delete itself
  • Error Handling: Consider wrapping unlink() in a try-catch or check with file_exists()
  • Backup Strategy: Always keep a backup copy before implementing self-deletion
  • Testing: Test thoroughly in a development environment first

Conclusion

Self-deleting PHP scripts are useful for one-time installation scripts or temporary maintenance tasks. The destructor method provides better reliability as it ensures deletion even if the script encounters errors during execution.

Updated on: 2026-03-15T08:39:26+05:30

331 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements