Ce face rename
rename schimbă numele unui fișier sau director. Dacă noua cale este în alt director, fișierul este mutat acolo. Funcționează și între discuri diferite.
Atenție: pe Linux și macOS, dacă destinația este un fișier care există deja, acesta este înlocuit fără niciun avertisment.
Parametri
| Parametru | Descriere |
|---|---|
$from |
Calea actuală. |
$to |
Calea nouă. Directorul de destinație trebuie să existe. |
$context |
Opțional. Un context de stream. |
Ce returnează
true la succes, false la eroare.
Exemple
Exemplul 1: Redenumirea unui fișier
<?php
file_put_contents("ciorna.txt", "Articol nou");
rename("ciorna.txt", "articol-final.txt");
var_dump(file_exists("ciorna.txt"));
var_dump(file_exists("articol-final.txt"));
Rezultat
bool(false)
bool(true)
Exemplul 2: Mutarea într-un alt director
<?php
mkdir("arhiva");
file_put_contents("factura-1024.pdf", "...");
rename("factura-1024.pdf", "arhiva/factura-1024.pdf");
print_r(array_values(array_diff(scandir("arhiva"), [".", ".."])));
Rezultat
Array
(
[0] => factura-1024.pdf
)
Exemplul 3: Destinația existentă este înlocuită
<?php
file_put_contents("a.txt", "conținut nou");
file_put_contents("b.txt", "conținut vechi");
rename("a.txt", "b.txt");
echo file_get_contents("b.txt");
Rezultat
conținut nou
Greșeli frecvente
- Directorul de destinație nu există și primești
No such file or directory. Creează-l întâi cumkdir. - Suprascrii din greșeală un fișier important. Verifică cu
file_exists($to)înainte derename.
Comenzi înrudite
copy: Copiază un fișier într-o locație nouă.unlink: Șterge un fișier de pe disc.mkdir: Creează un director nou, opțional cu toate directoarele părinte care lipsesc.move_uploaded_file / is_uploaded_file: Mută un fișier încărcat printr-un formular în locul lui definitiv de pe server.