
To rename a file in PHP, you need to call the rename() function.
The PHP rename() function allows you to rename a file or a directory by passing the old and new names for that file or directory.
The syntax of rename() is as follows:
rename(
string $from,
string $to,
?resource $context = null
): bool
The parameters of the functions are:
- The
$fromstring specifies the file you want to change - The
$tostring specifies the new file name - The
$contextfor a custom context stream. It’s optional and not needed most of the time
For example, the code below will rename index.php to server.php:
<?php
rename("index.php", "server.php");
The rename() function will move the file between directories when necessary.
Suppose you have the following file structure for your project:
files
└── project
└── index.php
When you rename the index.php file using the following code:
<?php
rename("project/index.php", "server.php");
Then the index.php file will be moved from the project folder.
The new file structure will be as shown below:
files
├── project
└── server.php
Without passing the location path, PHP will move the file to the current working directory (where you run the code from)
To avoid getting your file moved by the rename() function, you need to pass the same path in the $from and $to parameters.
<?php
rename("project/index.php", "project/server.php");
The above code will rename the index.php file inside the project folder to server.php without moving it.
And that’s how you rename a file in PHP using the rename() function. Easy, right?