3

Cookieに保存できるように、svg画像をシリアル化する必要があります。

Cookie を設定し、返されたときに svg イメージのシリアル化を解除する必要があります。

したがって、基本的に私の問題は、svgをCookieに保存できるものにシリアライズすることに帰着します。これどうやってするの?

PHP に serialize() と unserialize() があることは知っていますが、serialize は混合値を取り、svg がそのカテゴリに分類されるかどうかはわかりません。

混合値を少し調べたところ、structarrays 、intなどは取り込めるようですが、svg は取り込めないようです。これについて間違っている場合は教えてください。シリアライズとアンシリアライズを使用すると物事がはるかに簡単になるからです。

ありがとうございました。

4

1 に答える 1

2

Scalable Vector Graphics は単なる XML であり、したがって単なるテキストです (通常は UTF-8 でエンコードされますが、明示的に非 ASCII 文字を追加しない限り、ASCII と同じである必要があります)。ただし、SVG 文字列には Cookie で許可されていない特殊文字が含まれているため、これらをエスケープする必要があります (セミコロン、コンマ、およびスペースはエスケープする必要があります。私の記憶が正しければ、php の urlencode 関数を使用できます)。シリアライゼーションの観点からは、これですべてです。大きな問題はサイズ制限かもしれません: Cookie は、名前の長さを含めて 4096 文字を超えてはなりません。より複雑な SVG の場合、これは少なすぎる可能性があります。

于 2012-07-09T19:13:25.947 に答える