Ce face symlink
O legătură simbolică este un fișier special care conține doar calea către altă locație. Programele care o deschid ajung de fapt la țintă. Se folosește des la publicarea unui site: current indică spre ultima versiune, iar schimbarea versiunii înseamnă doar refacerea legăturii.
Ținta nu trebuie să existe. Dacă lipsește, legătura este „ruptă”: is_link spune true, dar file_exists spune false.
Parametri
| Parametru | Descriere |
|---|---|
$target |
Calea spre care indică legătura. O cale relativă se calculează față de directorul legăturii. |
$link |
Calea legăturii create. |
Ce returnează
true la succes, false (cu avertisment) la eroare, de exemplu dacă legătura există deja.
Exemple
Exemplul 1: Scurtătură către versiunea curentă
<?php
mkdir("versiuni/v2", 0777, true);
file_put_contents("versiuni/v2/versiune.txt", "Versiunea 2");
symlink("versiuni/v2", "curent");
echo file_get_contents("curent/versiune.txt") . "\n";
var_dump(is_link("curent"));
Rezultat
Versiunea 2
bool(true)
Exemplul 2: Legătură ruptă
<?php
symlink("lipsa.txt", "legatura");
var_dump(is_link("legatura"));
var_dump(file_exists("legatura"));
Rezultat
bool(true)
bool(false)
Greșeli frecvente
- Inversezi parametrii. Primul este ținta (ce există), al doilea este numele legăturii noi.
- Creezi legătura peste una existentă și primești
symlink(): File exists. Șterge-o întâi cuunlink.