I wonder whether someone may be able to help me please.
I've put together this page which allows users to view their uploaded images in a gallery format.
I'm now wanting to add the delete functionality to each image. I've created the button and the Javascript behind it, but I'm really not sure how to link the 'button click' with the actual physical deletion of the file.
The images aren't stored in a database but are in two folder locations on my server, in the following structure:
UploadedFiles/username/locationid/imagename
and
UploadedFiles/username/locationid/Thumbnails/imagename
I'm relatively new to PHP and I'm now reaching the limits of my knowledge, but certainly willing to learn. From the documentation I've read I think I'm correct in saying that the unlink
method is the correct command to use?
But what I'm finding really difficult is telling the code to find the folders with the username
and locationid
folders which match the current username
and locationid
and then delete the files which match the $source
name variable.
I just wondered whether someone could perhaps provide some guidance please on how I may go about this.
Many thanks and kind regards
If you can pass the username, locationid, and imagename variables to your script, you can delete the files using unlink()
:
$path = 'UploadedFiles/' . $username . '/' . $locationid . '/';
unlink( $path . $imagename );
unlink( $path . 'Thumbnails/' . $imagename );
Because you are interacting with your file system, you'll want to be sure and sanitize the variables (prevent someone from using ../../../ to get to unwanted parts of your file system).
$username = str_replace( array( '..', '/', '\\', ':' ), '', $username );
$imagename = str_replace( array( '..', '/', '\\', ':' ), '', $imagename );
$locationid= str_replace( array( '..', '/', '\\', ':' ), '', $locationid );