When working with PHP, link can help with a specific task: creates a filesystem hard link pointing to an existing file.
This guide shows what link does, how to use it in code, and which details you should check before relying on the result.
What Is link in PHP?
Creates a filesystem hard link pointing to an existing file.
Usage: The following examples show calls with suitable values. Consult the function parameters described in the examples, especially when optional arguments or extensions are involved.
Example 1: Basic Usage
The first example introduces link with a direct PHP expression.
<?php
echo function_exists("link") ? "Hard links supported by API" : "Unavailable";
The code is an illustration; its result depends on the relevant PHP extension, runtime state and input.
Example 2: A Different Input or Option
This second example demonstrates another input or condition, so you can compare the behavior with the first example.
<?php
$source = tempnam(sys_get_temp_dir(), "link-"); file_put_contents($source, "data"); $target = $source . "-alias"; if (link($source, $target)) echo file_get_contents($target); unlink($target); unlink($source);
The code is an illustration; its result depends on the relevant PHP extension, runtime state and input.
Practical Example
Here is a small scenario illustrating how link can fit into application code. Run the example only in an appropriate development environment if it reads files, changes data, starts processes or connects to a service.
<?php
$source = tempnam(sys_get_temp_dir(), "source-"); $target = $source . "-link"; $created = @link($source, $target); echo $created ? "Hard link created" : "Filesystem rejected the link"; if ($created) unlink($target); unlink($source);
The code is an illustration; its result depends on the relevant PHP extension, runtime state and input.
Important Behavior and Edge Cases
- Core behavior: Creates a filesystem hard link pointing to an existing file.
- Important limitation: Hard links normally require the same filesystem; removing a link does not necessarily delete file data while other links remain.
- Production use: Check return values and handle failures before acting on the result.
Comparison With Related Functions
| Function or Approach | Difference |
|---|---|
link() | Creates a filesystem hard link pointing to an existing file. |
symlink() | Related approach. Its purpose and return value differ; select it when your task matches that operation. |
Common Beginner Mistakes
| Mistake | Correct Approach |
|---|---|
Overlooking a special case of link(). | Hard links normally require the same filesystem; removing a link does not necessarily delete file data while other links remain. |
Using link() without checking the outcome. | Handle failures and confirm that the output is suitable for the next step. |
Key Takeaways
- Creates a filesystem hard link pointing to an existing file.
- Hard links normally require the same filesystem; removing a link does not necessarily delete file data while other links remain.
- Test the function with relevant inputs before using it in production.
Use link when its behavior matches the job you need to complete. For dependable results, consider the input data, returned value and limitations shown above.