このサイトにはプロモーションが含まれます

【Exif削除】PHPで写真から「余計な情報」を消す方法をマスターしよう

PHPエンジニアのみなさん、こんにちは!
今日はPHPで写真からExifデータを取り除く方法について、わかりやすく解説していこうと思います。知ってると便利な小技ですよ。

Exifデータって何?

Exifデータって、デジタル写真に含まれる「隠れた情報」のこと。
これには撮影日時や場所、使われたカメラの設定などが含まれています。

便利な情報なんだけど、これが原因でプライバシーが漏れることも。だから、写真をネットにアップする前には、このExifデータを削除しておくのが安全策なんです。

やんやん

プログラマーとしてLEMP環境に主に生息しており、DevOps 的な立ち回りをしながらご飯を食べている当ブログの管理人のやんやんと申します。
最近はTmux使うのを辞めました。

 

PHPでExifデータを消すには?

さて、PHPでExifデータを削除する方法ですが、意外と簡単にできます。

まずは、GDライブラリを使います。
これはPHPで画像を処理する際によく使われるライブラリです。
以下のようなコードでExifデータを削除できますよ。

<?php
$image = imagecreatefromjpeg('example.jpg'); // JPEG画像を読み込む
imagejpeg($image, 'result.jpg'); // 画像を保存することでExifデータを削除
imagedestroy($image); // メモリを解放
?>

 

このコードで何が起きているかというと、imagecreatefromjpeg関数で画像を読み込んで、imagejpeg関数で新しいファイルとして画像を保存しています。

この保存のプロセスで、Exifデータが取り除かれるんですね。

※ imagecreatefromjpeg は楽に確認したく使用しました。使用している技術に合わせて適切なもの使って下さい。

画質を保ちつつExifを消すコツ

画質を落とさずにExifデータだけを削除したい場合は、imagejpeg関数の第3引数に画質(0から100)を指定します。100が最高画質です。

この方法で、画像の見た目はそのままに、Exifデータだけを上手く取り除くことができますよ。

imagejpeg($image, 'result.jpg', 100);

まとめ

PHPを使ってExifデータを削除するのは、プライバシー保護のためにも重要です。

サイトやアプリでユーザーから写真を受け取る場合は、この処理を加えることで安心して提供できますね。

みなさんも、ぜひこのテクニックを試してみてください!

Twitterでフォローしよう

読んでみーな
おすすめの記事