link în PHP

Directoare și căi PHP 4+ (pe Windows: PHP 5.3+)

Creează o legătură fizică (hard link): un al doilea nume pentru același fișier.

Sintaxă
link(string $target, string $link): bool

Ce face link

O legătură fizică nu este o copie și nici o scurtătură: cele două nume indică exact același conținut de pe disc. O modificare făcută printr-un nume se vede și prin celălalt. Fișierul dispare de pe disc abia când este șters ultimul nume.

Legăturile fizice merg doar pentru fișiere, nu pentru directoare, și doar pe același disc.

Parametri

Parametru Descriere
$target Fișierul existent.
$link Numele nou.

Ce returnează

true la succes, false la eroare.

Exemple

Exemplul 1: Două nume, același conținut

<?php
file_put_contents("pret.txt", "100 lei");
link("pret.txt", "pret-vechi.txt");

file_put_contents("pret.txt", "120 lei");
echo file_get_contents("pret-vechi.txt") . "\n";

unlink("pret.txt");
echo file_get_contents("pret-vechi.txt") . "\n";
echo "Nume rămase: " . stat("pret-vechi.txt")["nlink"];

Rezultat

120 lei
120 lei
Nume rămase: 1

Greșeli frecvente

  • Folosești link ca să faci o copie de siguranță. Nu e copie: o modificare apare în ambele nume. Pentru copie folosește copy.

Comenzi înrudite

  • symlink: Creează o legătură simbolică (o scurtătură) către un fișier sau un director.
  • fileinode: Returnează numărul inode al unui fișier, identificatorul lui unic pe disc.
  • copy: Copiază un fișier într-o locație nouă.