Php 使用数据URL创建的PNG图像的文件大小?

Php 使用数据URL创建的PNG图像的文件大小?,php,png,filesize,Php,Png,Filesize,我可以安全地假设使用以下PHP代码创建的PNG图像文件的大小(以字节为单位): $f = fopen("newImageFile.png", 'w'); $content = base64_decode(substr($dataURL, strpos($dataURL, ',') + 1)); fwrite($f, $content); 如果$dataURL是从HTML的canves.toDataURL()发布的,则完全等于strlen($content)?如果您有较新的php版本,您可以使用

我可以安全地假设使用以下PHP代码创建的PNG图像文件的大小(以字节为单位):

$f = fopen("newImageFile.png", 'w');
$content = base64_decode(substr($dataURL, strpos($dataURL, ',') + 1));
fwrite($f, $content);

如果
$dataURL
是从HTML的
canves.toDataURL()
发布的,则完全等于
strlen($content)

如果您有较新的php版本,您可以使用
getimagesizefromstring()

但既然你在解码,你也可以用这个

    $uri = 'data://application/octet-stream;base64,' . base64_encode($data);
    getimagesize($uri);

考虑到“”,我认为这是找到数据长度的合理方法。我不确定文件大小会有什么不同,但我不能完全确定,所以我不打算回答:)我肯定会用“wb”打开你的文件,而不仅仅是“w”,因为你在写二进制数据。谢谢。我真的不知道写二进制数据时应该使用“wb”模式。我刚刚重新阅读了文档,谢谢。