0 votes
in PHP by

How to delete image from folder PHP?

I have a folder where I keep my images, named img/. I have a table with all of my images:

<table border="3">

    <tr>

        <td>    

            <?php

            $files = glob("img/*");

            foreach ($files as $file) {

                echo "<div class='divimages'>";

                echo '<img src="'.$file.'"/>';

                echo "<input type='submit' value='Delete image'/><br>";

                echo "</div>";  

            }

            ?>

        </td>

    </tr>   

</table>

How can I delete the image associated to the button with the value:"Delete image".

1 Answer

0 votes
by
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

Related questions

+1 vote
asked May 11, 2022 in PHP by sharadyadav1986
+1 vote
asked Jun 23, 2019 in PHP by SakshiSharma
0 votes
asked Apr 18 in Docker by rajeshsharma
...