SplFileStream

用途

文件资源流数据操作

操作方法

方法名称 参数 说明
__construct $file,$mode = ‘c+’ 初始化资源和读写操作
lock $mode = LOCK_EX 文件锁定
unlock $mode = LOCK_UN 释放锁定

::: warning SplFileStream类继承SplStream,其他相关方法参考SplStream。 :::

例子

__construct

初始化资源和读写操作

  • mixed $file 文件
  • mixed $mode 读写操作类型
  1. function __construct($file,$mode = 'c+')

::: warning 例子 :::

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: root
  5. * Date: 19-7-2
  6. * Time: 上午10:25
  7. */
  8. require_once 'vendor/autoload.php';
  9. $fileStream = new \EasySwoole\Spl\SplFileStream('./test.txt');
  10. $type = $fileStream->getMetadata('stream_type');
  11. var_dump($type);
  12. /**
  13. * 输出结果过:
  14. * string(5) "STDIO"
  15. */

lock

文件锁定

  • mixed $mode 锁定类型

锁定类型:

  • LOCK_SH 取得共享锁定(读取的程序)
  • LOCK_EX 取得独占锁定(写入的程序)
  • LOCK_UN 释放锁定(无论共享或独占)
    1. function lock($mode = LOCK_EX)

::: warning 例子 :::

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: root
  5. * Date: 19-7-2
  6. * Time: 上午10:25
  7. */
  8. require_once 'vendor/autoload.php';
  9. $fileStream = new \EasySwoole\Spl\SplFileStream('./test.txt');
  10. $lock = $fileStream->lock();
  11. var_dump($lock);
  12. /**
  13. * 输出结果过:
  14. * bool(true)
  15. */

unlock

释放锁定

  • mixed $mode 锁定类型
    1. function unlock($mode = LOCK_UN)

::: warning 例子 :::

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: root
  5. * Date: 19-7-2
  6. * Time: 上午10:25
  7. */
  8. require_once 'vendor/autoload.php';
  9. $fileStream = new \EasySwoole\Spl\SplFileStream('./test.txt');
  10. $unlock = $fileStream->unlock();
  11. var_dump($unlock);
  12. /**
  13. * 输出结果过:
  14. * bool(true)
  15. */