[PHP-users 32083] Re: 携帯用画像ファイルの再配布不可識別子
takeyoshi @ glovalex.com
takeyoshi @ glovalex.com
2007年 5月 9日 (水) 14:08:11 JST
利根川様
PHP-usersのみなさま
ご無沙汰しております。
竹吉です。
せっかくご教授頂いたのに、導入後のご報告が遅れてしまい申し訳ございません。
遅ればせながらImageMagickの導入
およびMagickWandによるコメント追加処理の開発・検証が完了いたしました。
MagickWand導入に関して多少苦戦しました。
既存環境でPHPの展開ソースディレクトリが残ったままbuildconf --forceをしても上手くいかず。。。
いったん既存のソースディレクトリを退避させbuildconf --forceいたしました。
コメント追加ロジックは以下のような感じです。
// 転送禁止
$file_path = "画像ファイルパス";
//-- ファイルオープン
$fp = fopen($file_path,'rb');
$data = fread($fp,filesize($file_path));
fclose($fp);
//-- MagickWandによる画像読込み
$magick = NewMagickWand();
MagickReadImageBlob($magick,$data);
//-- アクセス端末のキャリアで追加コメント制御
if(EZだったら){
MagickCommentImage($magick,"kddi_copyright=on");
}elseif(ドコモだったら){
MagickCommentImage($magick, "copy=\"NO\"");
}elseif(ソフトバンクだったら){
// no comment
}
//-- MagickSetFormat()引数用
$finfo =getimagesize($file_path);
switch($finfo[2]){
case "1":
$type = "gif";
break;
case "2":
$type= "jpg";
break;
case "3":
$type= "png";
break;
default:
}
MagickSetFormat($magick,$type);
$data = MagickGetImagesBlob($magick);
//-- 画像ファイル上書き(rewind()の方がいいか・・・)
$fp = fopen($file_path,'w+');
fwrite($fp, $data);
fclose($fp);
検証の結果、転送不可となった画像ファイルが生成されました。
本当に助かりました。
大変遅くなりましたが、ご教授ありがとうございました。
On Thu, 26 Apr 2007 13:38:23 +0900
"S.Tonegawa" <stone @ 328w.co.jp> wrote:
> 竹吉さん、PHP-usersのみなさま
>
> こんにちわ、利根川と申します。
>
> On 2007/04/26, at 12:15, takeyoshi @ glovalex.com wrote:
>
> > 早速のご教授、ありがとうございます。
> > 即、ステージングに導入し検証いたします。
> >
> >> MagickWandを使えば、MagickCommentImage()で
> >> JPEG/GIF/PNGに再配布禁止のコメントを入れる事が可能です。
> > これだけなんですね・・・。
> > 早速導入後、使用して結果報告致します。
>
> そうですか、お役に立てそうで、なによりです。
>
> たぶん、こんな流れで実現できるはずです。
> ----
> $magick = NewMagickWand();
>
> // ▼画像データを設定
> // $image_dataは、画像ののバイナリデータ
> MagickReadImageBlob($magick, $image_data);
>
> // ▼コメントを設定
> if ($carrier == 'i') {
> // i-mode
> MagickCommentImage($magick, "copy=\"NO\"");
> } else if ($carrier == 'e') {
> // ez
> MagickCommentImage($magick, "kddi_copyright=on");
> }
>
> // ▼画像データを取り出す
> $image_data = MagickGetImagesBlob($magick);
> ----
>
> > 携帯コンテンツ開発は初めてなのですが奥が深いですね・・。
> > 各キャリア・機種への対応が際限なく様々なシーンで押し寄せてくる
> > 感覚です。
>
> 確かに。
> 私も、日々、キャリア依存/機種依存に悩まされています。
>
> とりあえず、画像の再配布禁止、うまくいくといいですね。
>
> ----
> S.Tonegawa
> mitsubachiworks inc.
>
>
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3
PHP-users メーリングリストの案内