Ce face copy
copy face o copie a fișierului. Originalul rămâne neschimbat. Dacă destinația există deja, este suprascrisă.
Sursa poate fi și o adresă web (https://...), dacă serverul permite allow_url_fopen. Pentru directoare întregi nu există o funcție gata făcută: copiezi fișier cu fișier.
Parametri
| Parametru | Descriere |
|---|---|
$from |
Fișierul sursă. |
$to |
Calea copiei. Directorul de destinație trebuie să existe. |
$context |
Opțional. Un context de stream, de exemplu pentru o sursă HTTP. |
Ce returnează
true la succes, false la eroare.
Exemple
Exemplul 1: Copie de siguranță
<?php
file_put_contents("config.ini", "debug = off");
mkdir("backup");
copy("config.ini", "backup/config.ini");
echo file_get_contents("backup/config.ini") . "\n";
var_dump(file_exists("config.ini"));
Rezultat
debug = off
bool(true)
Exemplul 2: Copie cu data în nume
<?php
file_put_contents("baza.sql", "CREATE TABLE ...");
$copie = "baza-" . date("Y-m-d", mktime(0, 0, 0, 10, 19, 2026)) . ".sql";
if (copy("baza.sql", $copie)) {
echo "Copie creată: $copie";
}
Rezultat
Copie creată: baza-2026-10-19.sql
Greșeli frecvente
- Dai un director ca destinație (
copy("a.txt", "backup/")). Destinația trebuie să fie calea completă a fișierului nou:"backup/a.txt". - Încerci să copiezi un director cu
copy. Funcția lucrează doar cu fișiere.
Comenzi înrudite
rename: Redenumește sau mută un fișier ori un director.file_exists: Verifică dacă un fișier sau un director există pe disc.mkdir: Creează un director nou, opțional cu toate directoarele părinte care lipsesc.