Die grundlegende Syntax der Link () -Funktion lautet wie folgt:
<Code> Link (Zeichenfolge $ Ziel, Zeichenfolge $ Link) </code>
$ target ist der vorhandene Zieldateipfad
$ link ist der harte Linkpfad, der erstellt werden muss
Beispiel:
<code> <? php $ target = "gitbox.net/files/original.txt"; $ link = "gitbox.net/files/hardlink.txt"; if (link ($ target, $ link)) {
Echo "Hard Link wurde erfolgreich erstellt!";
} anders {
Echo "Hard Link erstellen fehlgeschlagen";
}
?>
</code>
Ein harter Link ist im Wesentlichen mehrere Verzeichniseinträge, die auf dieselben Dateidaten hinweisen, also:
Erlaubniseteilung <br> Harte Links und Originaldatei teilen dieselben Berechtigungseinstellungen, die auf denselben Dateiinhalt und auf Metadaten hinweisen. Dies bedeutet, dass die Berechtigungen unabhängig vom Pfad, auf den die Datei zugegriffen wird, gleich sind.
Auswirkungen der Genehmigungsänderung <br> Die Berechtigungsänderungen zu harten Links oder Originaldateien vornehmen, ist die Änderung der Berechtigungen der Datei selbst und alle Links werden betroffen.
Die Auswirkungen des Löschens von Dateien <br> Löschen Sie einen der harten Links, löschen Sie einfach das Verzeichniselement, die Dateidaten existieren weiterhin, solange andere harte Links vorhanden sind.
Angenommen, es gibt eine Datei gitbox.net/files/original.txt Die Berechtigung ist 0644 (Eigentümer kann lesen und schreiben, andere Benutzer können lesen):
<code> <? php $ target = "gitbox.net/files/original.txt"; $ link = "gitbox.net/files/hardlink.txt"; // Harte Links erstellen
if (link ($ target, $ link)) {
Echo "Hard Link wurde erfolgreich erstellt. \ n";
}
// Berechtigungen anzeigen
Echo Sprintf ("Berechtigungen: %o \ n", fileperms ($ target) & 0777);
// Berechtigungen ändern
chmod ($ link, 0666);
echo "nach Änderung der Berechtigungen für hartes Link: \ n";
Echo Sprintf ("Originaldatei -Berechtigungen: %o \ n", Fileperms ($ Target) & 0777);
Echo Sprintf ("Hard Link -Berechtigungen: %o \ n", fileperms ($ link) & 0777);
?>
</code>
Die laufenden Ergebnisse zeigen, dass nach der Änderung der Berechtigungen des harten Links auch die ursprünglichen Dateiberechtigungen geändert wurden, da sie unterschiedliche Pfade zu derselben Datei waren.
Harte Links können nur im selben Dateisystem erstellt werden und können keine Kreuzungspartitionen oder Cross-Mount-Punkte sein.
Verzeichnisdateien erlauben normalerweise keine harten Links (Linux -Beschränkungen) und können nur für normale Dateien verwendet werden.
Soft Links (Symlinks) unterscheiden sich von harten Links, und Berechtigungen für Soft -Link -Berechtigungen und Zieldateiberechtigungen sind nicht miteinander verbunden.
Die Link () -Funktion von PHP erstellt einen harten Link, und mehrere Links teilen dieselben Dateiberechtigungen.
Durch die Änderung der Berechtigungen des harten Links oder der Originaldatei wirkt sich alle Links zur Datei aus.
Harte Links eignen sich für Szenarien, in denen für die Datenkonsistenz mehrerer Schaden aufgenommen wird.
Durch das Verständnis des Interaktionsmechanismus zwischen der Link () -Funktion und den Dateiberechtigungen von PHP können wir das Dateisystem besser verwalten und das Chaos und die Fehloperation von Berechtigungen vermeiden.