[PHP-users 34800] imagegifの出力データを変数に代入出来ないでしょうか。

View: New views
3 Messages — Rating Filter:   Alert me  

[PHP-users 34800] imagegifの出力データを変数に代入出来ないでしょうか。

by kameoyaji :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


phpで可能かどうかをお教えください。

やりたい事はimagegifでの出力データを変数に代入したいのです

イメージとしては下記の様な処理になります。

$im = @imagecreatefromgif($fname);
$str_gif = Imagegif($im);

実際動かすと、上記の処理を実行すると、Imagegifからの応答は、True,Falseが
返ってきますが、Imagegif が出力している、'GIF87a・・・・・・'の出力され
る情報をバイナリデータで入手したいのです。

いちばん簡単なのは、

Imagegif($im,$filename);
$fp = fopen ( $GIF_src [ $i ], "rb" );
$str_gif = fread ( $fp, filesize ( $GIF_src [ $i ] ) );
fclose($fp);
unlink($filename);

と行って、ファイルに出力した後で読み直す事によって実現できる事はわかって
はいるのですが、この処理の方法だとエラーが発生した時に、$filenameで指定
されたファイルが、残ってしまう可能性が有るので、テンポラリファイルが出来
ないような方法が無いかと模索して、Imagegif から直接データを入手する方法
が無いかと考えています。

tmpfileを使用して、Imagegifを使用できないかと調べたのですが、_php_image_output_ctx
を調べてみても、fp渡しは出来なさそうなので、fp渡しは無理ではないかと考え
ております。

GIFEncodeをphpに移植する事も考えたのですが、私では簡単に手が付けれそうも
ないのであきらめております。

最終動作は、レンタルサーバなので、phpソースの修正はできないのでとお考え
いただき、中間ファイルなしでバイナリデータが入手できる方法などご指導いた
だければ幸いです。


--
かめおやじと申します、お見知りおきを
個人で運営中のサイト
http://tububbs.com/ つぶやき掲示板(掲示板?SNS?ミニブログ?)
http://trialgoods.com/emoji/ 絵文字を使いこなして見るページ
http://katte.mixsn.com/       勝手にシリーズ(ことば遊びサイト)
http://mobile.mixed-in.com/ 携帯向けの絵文字の情報サイト
http://15qm.com              15分間のメルアドサービス
                  (アングラなサイトですが 笑)
kameoyaji <kenjik@...>

_______________________________________________
PHP-users mailing list  PHP-users@...
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3

[PHP-users 34801] Re: imagegifの出力データを変数に代入出来ないでしょうか。

by KOYAMA Tetsuji :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

小山です。

2009/10/17 kameoyaji <kenjik@...>:

>
> phpで可能かどうかをお教えください。
>
> やりたい事はimagegifでの出力データを変数に代入したいのです
>
> イメージとしては下記の様な処理になります。
>
> $im = @imagecreatefromgif($fname);
> $str_gif = Imagegif($im);
>
> 実際動かすと、上記の処理を実行すると、Imagegifからの応答は、True,Falseが
> 返ってきますが、Imagegif が出力している、'GIF87a・・・・・・'の出力され
> る情報をバイナリデータで入手したいのです。

imagegif() は filename を指定しないとそのまま画像データを出力しますので
それを output buffer で受ければよいです。

ob_start();
imagegif($im);
$gifdata = ob_get_contents();
ob_end_clean();


--
    小山哲志@テックスタイル
    koyama@... : http://techstyle.jp/
    koyama@... : http://d.hatena.ne.jp/koyhoge/
_______________________________________________
PHP-users mailing list  PHP-users@...
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3

[PHP-users 34802] Re: imagegifの出力データを変数に代入出来ないでしょうか。

by kameoyaji :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

小山様 ありがとうございます。

ob_start,ob_get_contents,ob_end_clean・・・等々のい便利な
処理関数が有ったんですね、はじめて知りました。

ご指導いただいた方法で、問題なくデータが取れました。

大変勉強になりました。

phpのソースなどを調べずていた自分が恥ずかしいです。

--
かめおやじと申します、お見知りおきを
個人で運営中のサイト
http://tububbs.com/ つぶやき掲示板(掲示板?SNS?ミニブログ?)
http://trialgoods.com/emoji/ 絵文字を使いこなして見るページ
http://katte.mixsn.com/       勝手にシリーズ(ことば遊びサイト)
http://mobile.mixed-in.com/ 携帯向けの絵文字の情報サイト
http://15qm.com              15分間のメルアドサービス
                  (アングラなサイトですが 笑)
kameoyaji <kenjik@...>

_______________________________________________
PHP-users mailing list  PHP-users@...
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3