@staabm I've tried your proposition, but as long as `exif_read_data` does not accept streams, the data URI must be computed before calling this function. I can't figure how we could you `stream_filter_append` as you mentioned. See : 

```php
$stream = fopen('php://memory','r+');
fwrite($stream, $data);
rewind($stream);
stream_filter_append($stream, 'convert.base64-encode', STREAM_FILTER_READ);

exif_read_data('data://image/jpg;base64,' . stream_get_contents($stream));
```