PHPまたはJSでQRコードを生成し画像ファイルとして保存はできますか?
QRコードを生成して表示はできるのですが保存する方法がわかりません
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
Webエンジニアとしての観点で
「こうした方が良いんじゃないかな?」と思う内容を記述しておきます。
そもそもQRコードは「お好きな文字」を2次元バーコードにして保管する手法でしかありません。
そのアルゴリズムも広く公開されており、jQueryに固執せずともどんな言語でも生成できます。
参考記事: 5分で出来る!PHPでQRコードを生成する方法 - あぱーブログ
というのも画像はファイルサイズが大幅に大きくなるものですので、
30文字程度の日本語なら大体90バイトに収まります。
英数字で30文字なら30バイトです。
しかし画像になると、小指の指先しかないような小さい画像でも
一瞬で数百キロバイトに化けます。
これがチリも積もれば……でユーザーが沢山訪れて1000件保存すれば数百メガバイトになるでしょう。
他の観点からもオススメ出来ません。
QRコードは文字列→二次元バーコードへの変換は楽に行なえますが、
二次元バーコード画像から文字列を取り出す事はかなり大変です。
それにより、悪意の第三者がやってきて
反社会的なメッセージや児童ポルノの情報等を大量にWebサーバに保存するなんてことも考えられます。
こういったメッセージを残しておくと犯罪者として取り締まられてしまう可能性がありますので、
Webサーバとして全世界に公開するであればそういった対策も必要となるでしょう。
という訳で対応策としてはシンプルになります。
上記の参考記事のようなPHP等のサーバーサイドでQRコードを生成出来るような仕組みを用意しておき、
PHPのWebサーバには普通の文字列を送り込み、
その文字列などをデータベースなんかに突っ込んで、
訪れたユーザーがデータをQRコードでくれと要望してきたタイミングで作って渡す方が健全です。
まぁ、jQueryで出来るのであればPHPは保存された普通の文字列を返して、
ユーザーはjQuery越しにQRコードを生成して勝手に使えば良いという役割分担をしても良いでしょう。
管理者が使いたいのであれば、管理画面をChrome等のブラウザで開いてjQueryで生成した二次元バーコードを閲覧するという仕組みにしても良いと思います。
投稿2020/02/28 07:37
総合スコア21400
0
ベストアンサー
jquery.qrcode.jsで生成したQRコードを画像としてサーバー側に保存したいです
というのは結構大変です。
アプローチとしては、node.js等のサーバサイドJSが動く環境を作って、そこでjQueryを動かすという形になります。
NodeJSでjQueryを使う
一方で、PHPでQRコードを生成するのは数多く方法が存在するので
PHP QRコード 生成
あたりで検索して
【PHP】endroid/qr-codeを使ってQRコードを生成してみる
の様な形で生成して、
echo $qrCode->writeString();
する代わりに戻り値をファイルとして保存してあげれば行けそうな気がします。
投稿2020/02/28 05:19
総合スコア18778
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
投稿2020/02/28 05:01
編集2020/02/28 06:07総合スコア117682
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。