stream_is_local

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

stream_is_localChecks if a stream is a local stream

说明

stream_is_local ( resource|string $stream ) : bool

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

参数

stream

The stream resource or URL to check.

返回值

成功时返回 true, 或者在失败时返回 false

范例

Example #1 stream_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)

User Contributed Notes

Gemorroj 17-Feb-2018 09:20
but hhvm for `file://shouldbelocal.jpg` returns true
https://3v4l.org/ULCni
php at kalpaitch dot com 24-May-2017 10:33
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)
Anonymous 20-Feb-2017 02:30
this is not a bug
mounting a remote filesystem locally "imports" it so it is available to userland programs like a local directory.
sam at NOSPAM dot bogus dot tld 22-Nov-2016 12:56
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).