delete image from folder PHP

You can delete files in PHP using the unlink() function.

unlink('path/to/file.jpg');

There are a few routes. One, the most simple, would involve making that into a form; when it submits you react to POST data and delete the image using unlink

DISCLAIMER: This is not secure. An attacker could use this code to delete any file on your server. You must expand on this demonstration code to add some measure of security, otherwise you can expect bad things.

Each image's display markup would contain a form something like this:

echo '<form method="post">';
  echo '<input type="hidden" value="'.$file.'" name="delete_file" />';
  echo '<input type="submit" value="Delete image" />';
echo '</form>';

...and at at the top of that same PHP file:

if (array_key_exists('delete_file', $_POST)) {
  $filename = $_POST['delete_file'];
  if (file_exists($filename)) {
    unlink($filename);
    echo 'File '.$filename.' has been deleted';
  } else {
    echo 'Could not delete '.$filename.', file does not exist';
  }
}
// existing code continues below...

You can elaborate on this by using javascript: instead of submitting the form, you could send an AJAX request. The server-side code would look rather similar to this.

Documentation and Related Reading

  • unlink - http://php.net/manual/en/function.unlink.php
  • $_POST - http://php.net/manual/en/reserved.variables.post.php
  • file_exists - http://php.net/manual/en/function.file-exists.php
  • array_key_exists - http://php.net/manual/en/function.array-key-exists.php
  • "Using PHP With HTML Forms" - http://www.tizag.com/phpT/forms.php

Tags:

Php