php 从数据 uri 获取文件大小
php get file size from data uri
我的表单中有一个表单上传插件,它使用 data uri
上传图片,例如
$img = 'data:image/jpeg;base64,/9j/4QAYRXhpZ...............
我需要有文件大小限制,例如文件大小不能超过 1MB。
我可以使用 list($width, $height) = getimagesize($img);
获取图像尺寸(宽度和高度)。
如何获得相同的文件大小。 php
中是否有任何预定义函数,我可以使用它来获取 data uri
的文件大小
您可以使用 strlen
获取字符串(以及文件)的大小(以字节为单位)。 base64 数据比二进制数据大 ~1/3,所以不要忘记先 base64_decode
。
那么你的代码是:
$img = 'base64,/9j/4QAYRXhpZ...............';
echo 'File Size: ' . strlen(base64_decode($img));
如果您想更准确,请不要忘记去掉 headers("data:image/jpeg" 等)。
我的表单中有一个表单上传插件,它使用 data uri
上传图片,例如
$img = 'data:image/jpeg;base64,/9j/4QAYRXhpZ...............
我需要有文件大小限制,例如文件大小不能超过 1MB。
我可以使用 list($width, $height) = getimagesize($img);
获取图像尺寸(宽度和高度)。
如何获得相同的文件大小。 php
中是否有任何预定义函数,我可以使用它来获取 data uri
您可以使用 strlen
获取字符串(以及文件)的大小(以字节为单位)。 base64 数据比二进制数据大 ~1/3,所以不要忘记先 base64_decode
。
那么你的代码是:
$img = 'base64,/9j/4QAYRXhpZ...............';
echo 'File Size: ' . strlen(base64_decode($img));
如果您想更准确,请不要忘记去掉 headers("data:image/jpeg" 等)。