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).