• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • stream_is_local()

    (PHP 5 >= 5.2.4, PHP 7)

    Checks if a stream is a local stream

    说明

    stream_is_local(mixed $stream_or_url): bool

    Checks if a stream, or a URL, is a local one or not.

    参数

    $stream_or_url

    The streamresourceor URL to check.

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    Example #1stream_is_local()example

    Basic usage example.

    <?php
    var_dump(stream_is_local("http://example.com"));
    var_dump(stream_is_local("/etc"));
    ?>
    

    以上例程的输出类似于:

    bool(false)
    bool(true)
    
    but hhvm for `file://shouldbelocal.jpg` returns true
    https://3v4l.org/ULCni
    It appears to return incorrectly for 'file://' wrapper which I would consider to be local.
    CODE:
    $file1 = '/somefile.jpg';
    $file2 = 'file://shouldbelocal.jpg';
    $file3 = 'http://someotherfile.jpg';
    $local = stream_is_local($file1);
    $shouldbelocal = stream_is_local($file2);
    $remote = stream_is_local($file3);
    var_dump($local, $shouldbelocal, $remote);
    RESULT:
    bool(true)
    bool(false)
    bool(false)
    this is not a bug
    mounting a remote filesystem locally "imports" it so it is available to userland programs like a local directory.
    The function stream_is_local() does not work with remote mounts points, like sshfs mount points (it will return true as if it was local).