drewlabs / datauri
用于解析/处理URL编码对象的类和工具
v0.2.0
2023-12-14 09:18 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: >=6.0
This package is auto-updated.
Last update: 2024-09-14 10:56:04 UTC
README
Data URI包提供了一种从数据URI字符串创建文件或将文件转换为数据URI字符串的接口。它提供了一个对象,作为将原始字符串或文件转换为数据URI的桥梁。
用法
数据URI对象提供了从文件路径或HTTP URL创建对象的方法
- 从路径创建
// We assume file exists at path specified below $path = __DIR__ . 'storage/file.txt'; $object = \Drewlabs\DataURI\DataURI::create($path); // Converting $object to data uri string $uri = $object->__toString(); // or using type casting $uri = (string)$object;
- 从HTTP URL创建
$url = 'https://i.picsum.photos/id/237/200/300.jpg?hmac=TmmQSbShHz9CdQm0NkEjx1Dyh_Y984R9LpNrpvH2D_U'; $object = \Drewlabs\DataURI\DataURI::createFromURL($url); // Converting $object to data uri string $uri = $object->__toString(); // or using type casting $uri = (string)$object;
- 从URI字符串创建
该包附带了一个解析类,可以将URI字符串转换为二进制文件或文本文件,这些文件可以写入存储。
$uri = 'data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,UEsDBBQABgAIAAAAIQCQyAt3kAEAADEHAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0lUlrwzAQhe+F/geja4mV9FBKiZNDl2MbaAu9KtI4EdWGNNn...'; $parser = new \Drewlabs\DataURI\Parser(); $object = $parser->parse($uri); // Creates instance of \Drewlabs\DataURI\DataURI
API
- getContent()
返回存储在{@see \Drewlabs\DataURI\DataURI}对象内部的编码的二进制内容。
- getMimeType()
返回文件MIME类型。目前支持常用Web MIME类型。
- isBinary()
如果URI信息是二进制内容,则返回true。
- getExtension()
使用MIME类型猜测文件扩展名。