syberisle / mock-php-stream
Stream wrapper for mocking php://
Installs: 5 008
Dependents: 1
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 1
Open Issues: 2
Requires (Dev)
- codeclimate/php-test-reporter: ^0.4.4
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2024-10-24 15:16:50 UTC
README
This library is intended to be used to mock the php://
stream wrapper.
It's highly recommended that you register/unregister this ONLY when you need it in a test. Otherwise it could interfere with other built-in php streams during the course of it being registered.
Installation
composer install syberisle/mock-php-stream
Usage
Using this to test a Slim 3 app's ability to do direct file uploads, where the body IS the content, is now easier.
MockPhpStream::register(); file_put_contents('php://input', 'you test data'); $app = new Slim\App(); $app->post('', function ($request) { // direct file uploads $request->getBody()->detach(); $from = fopen("php://input", 'r'); $to = fopen('/my/path/file', 'w'); stream_copy_to_stream($from, $to); fclose($from); fclose($to); }); MockPhpStream::unregister();
Security
Using this in production could potentially cause problems as it overrides the built-in php stream functions.
Credits
The idea was based off on this blog article Mocking php://input.
License
The MIT License (MIT). Please see License File for more information.