勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptの「pako」ライブラリでGzip圧縮したデータをPHPで展開する方法

  PHP JavaScript

先日、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送信などの際に送信データ量が多少減らせるかも。

 - PHP JavaScript

  関連記事

CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成
CodeIgniter4&Bootstrap&jQueryで簡易版お問い合わせページの作成

CodeIgniter4.4.4&Bootstrap&jQuer ...

3Dデータ(objファイル)をブラウザ上で表示する方法(JSC3D)
3Dデータ(objファイル)をブラウザ上で表示する方法(JSC3D)

3Dデータをブラウザで表示させて、違う方向から見たり、縮小拡大をしたいという案件 ...

画像にマウスを合わせると拡大表示させる「drift」ライブラリの利用方法
画像にマウスを合わせると拡大表示させる「drift」ライブラリの利用方法

amazon等ECサイトで商品画像にマウスを合わせると当該部分が拡大表示されると ...

JavaScriptで配列やオブジェクトの中身をブラウザに表示する方法
JavaScriptで配列やオブジェクトの中身をブラウザに表示する方法

JavaScriptで配列やオブジェクトの中身を確認したい場合、console. ...

AjaxのJSONP使用でPHPで作った配列をJSに返す方法
AjaxのJSONP使用でPHPで作った配列をJSに返す方法

AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...