Page 1 of 1

delete from folder

Posted: Mon Nov 30, 2009 12:45 pm
by chris_s_22
This is the code i use to upload a photo to a folder and put file name in database.

However if someone was to re use the form to change photo id like it so that the old one was deleted
How do i do this

Code: Select all

<?php 
include 'Connect.php';
 
if(!isset($_POST[submit])) // checks that the data being recieved came from a POST variable named 'submit'  
{
     // if error reshow the form You cannot access this page directly.
     include 'index.php';
     exit;
}
else
{
    if ((($_FILES["photo"]["type"] == "image/gif") 
    || ($_FILES["photo"]["type"] == "image/jpeg") 
    || ($_FILES["photo"]["type"] == "image/pjpeg"))
    && ($_FILES["photo"]["size"] < 51000))
    {
 
        $ext = findexts ($_FILES['photo']['name']) ; //This applies the function to our file 
        $ran = rand () ;//This line assigns a random number to a variable.
        $ran2 = $ran."."; //adds a . on the end of $ran 
        $target = "images/"; //This is the directory where images will be saved
        $pic = $ran2.$ext;//This gets information from the form that has since been randomised and checked
        $target = $target . $ran2.$ext;//This combines the directory, the random file name, and the extension
        //If everything is ok we try to upload it 
 
        //Writes the information to the database 
        mysql_query("UPDATE members SET photo = '$pic' WHERE username = '$username'") ;
        if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) 
        {
        header('Location: index.php');   
        } 
        else 
        { 
        echo "Sorry, there was a problem uploading your file."; 
        }  
    }
    else
    {
    echo "Invalid file";
    }
}
?>

Re: delete from folder

Posted: Mon Nov 30, 2009 2:24 pm
by Christopher
You would need to do a "SELECT * FROM members WHERE photo = '$pic' AND username = '$username'" to check if the user already has that photo. No need to fetch the record, just check if there are more than zero records in the result set.

Re: delete from folder

Posted: Mon Nov 30, 2009 9:48 pm
by AlanG
You will have to select the photo's filename from the database and use the unlink function to delete it. You can then proceed with a new photo upload.

e.g.

Code: Select all

unlink('/path/to/photo/' . $filename);

Re: delete from folder

Posted: Tue Dec 01, 2009 6:05 am
by chris_s_22
thanks alanG exactly what i needed