Edit report at https://bugs.php.net/bug.php?id=50526&edit=1
ID: 50526
Comment by: matti dot jarvinen at nitroid dot fi
Reported by: codeslinger at compsalot dot com
Summary: stat() needs Context parameter
Status: Assigned
Type: Feature/Change Request
Package: *General Issues
Operating System: any
PHP Version: 5.2.12
Assigned To: kalle
Block user comment: N
Private report: N
New Comment:
And it seems that StreamWrapper stat doesn't use default context either.
$options = array('testfs'=> array(
'storagePath'=>dirname(ROOTPATH).DIRECTORY_SEPARATOR.'storage'
)
);
$defaultContext = stream_context_get_options(stream_context_get_default());
$newContext = array_replace_recursive($defaultContext, $options);
stream_context_set_default($newContext);
stream_wrapper_register('testfs', 'Test_StreamWrapper');
class Test_StreamWrapper
{
public $context;
public function url_stat()
{
if($this->context === null)
{
print 'No Context!';
}
return false;
}
}
file_exists('testfs://foobar');
Expected:
Got:
No Context!
Previous Comments:
------------------------------------------------------------------------
[2009-12-21 22:37:11] [email protected]
For stream_wrappers, by calling fopen() with a context parameter and then
fstat() on the opened stream, you should be able to pass a context (the
->context attribute in the wrapper's instance).
------------------------------------------------------------------------
[2009-12-18 21:36:59] codeslinger at compsalot dot com
Description:
------------
Feature Request:
the stream wrapper functions are *totally awesome* :-) !!!
but the "stat" family of functions is limited by the lack of a "context" param.
For instance I need to be able to provide a user name and password for a
particular connection. for opendir mkdir fopen etc. I am able to pass a
context with that info and everything works. But then when I try to do a
"stat" or "fstat" it fails because there is no way to pass the $context.
Thank you for making PHP such a fantastic programming language!
Reproduce code:
---------------
---
>From manual page: streamwrapper.stream-stat#Description
---
Actual result:
--------------
also see related
Bug #42965 copy() should support context parameters for URLs
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=50526&edit=1