php从目录更新文件名

so the title is not full clear, my question , I'm using the code to rename the file from directory present in the server the problem is i have to use the HTML form and php to update the file name, i want to do this : there will be an option on every file for renaming it when i click on the option the box pops up and i have to type the new name for file and save it , any help will be appreciated. (before down voting think about the question.)

The code that I'm using to update the file name

<?php
include("configuration.php");
$target = $_POST['filename']; 
$newName = $_POST['newfilename'];
$actfoler = $_REQUEST['folder'];
$file = "files/users/";
$new ="files/users/";
$renameResult = rename($file, $new);
// Evaluate the value returned from the function if needed
if ($renameResult == true) {
    echo $file . " is now named " . $new;
} else {
     echo "Could not rename that file";
}
 header("Location:".$_SERVER["HTTP_REFERER"]);
?>

Try changing these lines:

$file = "uploads/$loggedInUser->username$actfolder/$target";
$new ="uploads/$loggedInUser->username$actfolder/$newName";

To:

$file = "uploads/{$loggedInUser->username}{$actfolder}/{$target}";
$new ="uploads/{$loggedInUser->username}{$actfolder}/{$newName}";

To explain why: You are using variables inside a string, which means you will want to tell PHP where the variable ends. Especially when referencing objects or arrays, but also when you are placing variables right next to each other. I'm guessing PHP evaluated your original line to uploads/[Object]->usernamePizza/newname

I don't think you can call object properties in a string as you do.

try replace these lines :

$file = "uploads/".$loggedInUser->username."$actfolder/$target";
$new ="uploads/".$loggedInUser->username."$actfolder/$newName";

You may think about echoing $file and $new to confirm the path is nicely built.

On a side note, I'd recommend to really check the entries because this code can obviously lead to major security issues.