JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法
先日、JavaScriptの「pako」ライブラリで文字列やオブジェクト(連想配列)をGzip圧縮したがそのデータをPHP側で展開したい。以下に対応方法をメモ。
使用するデータ
過去記事の文字列及びオブジェクト(連想配列)をGzip圧縮したデータを使用する。
対応方法
文字列の展開
$data = 'H4sIAAAAAAAAAwXBoQ2AMBRF0VW6AePgSdiD/58ixSHqIFQVASFBgGCbm+7BOW3f4QXd+IsinkMTUEIHfqEdLdhU41i/B0vYis1YwU60oczgPyyXzMJFAAAA'; $decode_data = base64_decode($data); $decode_data = gzdecode($decode_data); $decode_data = urldecode($decode_data); var_dump($decode_data); //"Webエンジニア / プログラマが勉強したことのメモ。"
オブジェクト(連想配列)の展開
$data = 'H4sIAAAAAAAAA6tWykxRsjI00FHKS8xNVbJSerpx4/MpG5Qg/PjUPKBQZWJuYkoiUKgoNT2zuAQoYmRgZKJrYAhESrUAPeXeOkIAAAA=';
$decode_data = base64_decode($data);
$decode_data = gzdecode($decode_data);
$decode_data = urldecode($decode_data);
$decode_data = json_decode($decode_data);
var_dump($decode_data); //object(stdClass)#1 (4) { ["id"]=> int(10) ["name"]=> string(6) "山田" ["name_en"]=> string(6) "yamada" ["regist"]=> string(10) "2024-01-01" }
所感
Ajax送信などの際に送信データ量が多少減らせるかも。
関連記事
-
-
JavaScriptで英字を大文字⇔小文字に変換する方法
JavaScriptで英字を大文字⇔小文字に変換したかった。以下に対応方法をメモ ...
-
-
スマホ対応のjQueryのカラーピッカープラグイン「excolor」の利用方法
以前の記事でカラーピッカープラグインのことを書いたけどスマホでは使えない。なので ...
-
-
AjaxにてHTTPリクエストメソッドをDELETE / PUTで送信する方法
あるAPIにAjaxでリクエストする際、GET / POSTではなくDELETE ...
-
-
JavaScriptにて「QRCode.js」ライブラリを利用してQRコードを生成する方法
PHPが使えない環境で動的にQRコードを生成したかった。以前にメモしたAPI等の ...
-
-
Javascript / jQueryにて特定の要素内の文字数が〇文字以上の場合に丸める方法
サイトの特定の要素内の文字数が〇文字以上の場合に「コンテンツコンテ……」のように ...