Pedramch
Pedramch

Reputation: 79

renaming an image during uploading (PHP)

i have this code for uploading image and storing in database i want to rename it to a random name first,then upload it and store in database how should i change my code? please help me! here is my PHP code :

$imageFile=$_FILES['image'];
$file_name = $imageFile['name'];

$target_path = "images/news/".$file_name;

if(move_uploaded_file($imageFile['tmp_name'], $target_path)) {
echo "<div id=\"news\">";
 echo "Image : "."<br>".$file_name;
 echo "<br>"; 
 echo "Successfuly Uploaded!";
echo "<br>"; 


    $newstitle = $_POST['title'];
    $newscontent = $_POST['content'];
    $newsimage = "images/news/".$file_name;


    $sql="insert into news (news_title,news_content,news_image,news_date) values ('$newstitle', '$newscontent','$newsimage',' $newsdate')"; 

    if ($conn->query($sql) === TRUE)
    {
        echo "Image Stored in DB!</div>";
    } 
    else 
    {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }

}

Upvotes: 0

Views: 343

Answers (1)

user4314601
user4314601

Reputation:

Try this
Random file name created using $random = md5(uniqid("") . time());

Here is working code that renames your file

$imageFile = $_FILES['image'];
$file_name = $imageFile['name'];
$random = md5(uniqid("") . time());
$target_path = "images/news/" . $random.$file_name;

if (move_uploaded_file($imageFile['tmp_name'], $target_path)) {
    echo "<div id=\"news\">";
    echo "Image : " . "<br>". $random . $file_name;
    echo "<br>";
    echo "Successfuly Uploaded!";
    echo "<br>";


    $newstitle = $_POST['title'];
    $newscontent = $_POST['content'];
    $newsimage = "images/news/" . $random. $file_name;


    $sql = "insert into news (news_title,news_content,news_image,news_date) values ('$newstitle', '$newscontent','$newsimage',' $newsdate')";

    if ($conn->query($sql) === TRUE) {
        echo "Image Stored in DB!</div>";
    } else {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}

feel free to ask ready to help you

Upvotes: 1

Related Questions