stream_is_local

(PHP 5 >= 5.2.4, PHP 7, PHP 8)

stream_is_local检查流是否为本地流

描述

stream_is_local(resource|string $stream): bool

检查流或 URL 是否为本地流。

参数

stream

要检查的流 resource 或 URL。

返回值

成功时返回 true,失败时返回 false

范例

范例 #1 stream_is_local() 示例

基本用法示例。

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

上面的例子将输出类似于

bool(false)
bool(true)

添加注释

用户贡献的注释 5 注释

3
nryabov
2 年前
<?php
$file1
= '/somefile.jpg';
$file2 = 'file://shouldbelocal.jpg';
$file3 = 'http://someotherfile.jpg';
$file4 = 'file:///indeedlocal.jpg'; // 请注意 '///' 而不是 '//'

$local = stream_is_local($file1);
$shouldbelocal = stream_is_local($file2);
$remote = stream_is_local($file3);
$indeedlocal = stream_is_local($file4);
var_dump($local, $shouldbelocal, $remote, $indeedlocal);
1
匿名
7 年前
这不是 bug
在本地挂载远程文件系统会“导入”它,因此它对像本地目录一样的用户空间程序可用。
1
Gemorroj
6 年前
但 hhvm 对于 `file://shouldbelocal.jpg` 返回 true
https://3v4l.org/ULCni
1
php at kalpaitch dot com
7 年前
它似乎对于我将视为本地的 'file://' 封装器返回不正确。

代码
$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);

结果
bool(true)
bool(false)
bool(false)
-2
sam at NOSPAM dot bogus dot tld
7 年前
函数 stream_is_local() 不适用于远程挂载点,例如 sshfs 挂载点(它将返回 true,就好像它是本地的)。
To Top