php从数据uri中获取文件大小

Tec*_*ech 4 php image-uploading

我的表单中有一个表单上传插件,它使用data uri诸如

$img = 'data:image/jpeg;base64,/9j/4QAYRXhpZ...............
Run Code Online (Sandbox Code Playgroud)

我需要有文件大小限制,例如文件大小不应超过 1MB。

我可以使用list($width, $height) = getimagesize($img);.

我怎样才能获得相同的文件大小。是否有任何预定义的函数php可以用来获取文件大小data uri

Tus*_*har 5

您可以使用strlen以字节为单位获取字符串(以及文件)的大小。base64 数据比二进制数据大~1/3,所以不要忘记base64_decode首先。

那么你的代码是:

$img = 'base64,/9j/4QAYRXhpZ...............';
echo 'File Size: ' . strlen(base64_decode($img));
Run Code Online (Sandbox Code Playgroud)

如果您想更准确,请不要忘记去掉标题(“data:image/jpeg”等)。