php - 如何序列化 svg 以便它可以放入 cookie

标签 php serialization cookies image-processing svg

我需要序列化一个 svg 图像,以便它可以存储到 cookie 中。

我需要设置 cookie,然后在它们返回时反序列化 svg 图像。

所以基本上我的问题归结为将 svg 序列化为可以存储在 cookie 中的东西。我该怎么做?

我知道 php 中有 serialize() 和 unserialize(),但 serialize 接受混合值,我不确定 svg 是否属于该类别。

我稍微研究了一下混合值,看起来它可以接受 structarrayint 等,但不能接受 svg .如果我对此有误,请告诉我,因为使用序列化和反序列化会使事情变得容易得多。

谢谢。

最佳答案

嗯,可缩放矢量图形只是 XML,因此只是文本(通常是 UTF-8 编码,尽管它应该与 ASCII 相同,除非您明确添加任何非 ASCII 字符)。然而,SVG 字符串将包含 cookie 中不允许的特殊字符,因此您需要转义这些字符(分号、逗号和空格应该转义,如果我没记错的话,您可以使用 php 中的 urlencode 函数)。这就是序列化方面的全部内容。最大的问题可能是大小限制:cookie 不得超过 4096 个字符,包括名称的长度。对于更复杂的 SVG,这可能太少了。

关于php - 如何序列化 svg 以便它可以放入 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11401104/

相关文章:

带有请求的 Python post cookie

javascript - php session 随机丢失,无法理解为什么

php - MySQL - 包含多个值

php - Laravel 4,困惑的 Eloquent 连接查询

php - 邮件程序错误 : The following From address failed: Called Mail() without being connected

java - 用可序列化函数包装不可序列化类型

json - 在 UnmarshalJSON 函数中调用 json.Unmarshal 不会导致堆栈溢出

php - 从不同的数据库中选择两个或多个表

java - Java 中字符串的反序列化

java - GWT 中的 Cookies.removeCookie ("cookieName"未删除 Cookie