falc / flysystem-local-symlink-plugin
Flysystem 的本地符号链接插件。
v1.2.0
2015-12-13 11:32 UTC
Requires
- league/flysystem: ~1.0
This package is not auto-updated.
Last update: 2024-09-28 16:10:06 UTC
README
需求
- Flysystem >= 1.0.0
安装
使用 composer
composer require falc/flysystem-local-symlink-plugin
或手动添加
{ "require": { "falc/flysystem-local-symlink-plugin": "1.*" } }
用法
此插件需要一个使用 本地适配器 的 Filesystem
实例。
use Falc\Flysystem\Plugin\Symlink\Local as LocalSymlinkPlugin; use League\Flysystem\Adapter\Local as LocalAdapter; use League\Flysystem\Filesystem; $filesystem = new Filesystem(new LocalAdapter('/'));
符号链接
使用 symlink($target, $symlink)
创建符号链接。
$filesystem->addPlugin(new LocalSymlinkPlugin\Symlink()); $success = $filesystem->symlink('/tmp/some/target', '/tmp/symlink');
删除符号链接
使用 deleteSymlink($symlink)
删除符号链接。
$filesystem->addPlugin(new LocalSymlinkPlugin\DeleteSymlink()); $success = $filesystem->deleteSymlink('/tmp/symlink');
检查符号链接
使用 isSymlink($filename)
检查文件是否存在并且是符号链接。
$filesystem->addPlugin(new LocalSymlinkPlugin\IsSymlink()); $isSymlink = $filesystem->isSymlink('/tmp/symlink');
完整路径和相对路径
上述示例展示了如何使用 /
作为根和完整路径创建符号链接。但也可以使用相对路径。
use Falc\Flysystem\Plugin\Symlink\Local as LocalSymlinkPlugin; use League\Flysystem\Adapter\Local as LocalAdapter; use League\Flysystem\Filesystem; $filesystem = new Filesystem(new LocalAdapter('/home/falc')); $filesystem->addPlugin(new LocalSymlinkPlugin\Symlink()); $filesystem->addPlugin(new LocalSymlinkPlugin\IsSymlink()); $filesystem->addPlugin(new LocalSymlinkPlugin\DeleteSymlink()); // Result: /home/falc/flytest -> /home/falc/projects/cli/flytest $filesystem->symlink('projects/cli/flytest', 'flytest'); // It is possible to check it or delete it in the same way: $isSymlink = $filesystem->isSymlink('flytest'); $filesystem->deleteSymlink('flytest');