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] lbarn...@php.net 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