[PHP-users 31731] Re: POST で送信し、 GD でダイレクト出力し、< img >で表示する方法

土屋 tsuchiya_masahiro @ yahoo.co.jp
2007年 3月 22日 (木) 10:53:42 JST


ツチヤです。

> session_start()がないようですね。PHPのマニュアルを見> 
てセッションが使えるようにしてください。

result.phpではsession_start()を書いていたので、
gousei.phpでは書かなくてもよいと思っておりました。

gousei.phpにsession_start()を書いたところ、
きちんと表示されました。

皆様、アドバイスどうも有難うございました。

セッションがいまいちよく分かっていないので、しっかりと勉
強させていただきます。

途中で一時ファイルを作成しないという方針にしたのは、
作成した一時ファイルを削除するタイミングが難しかったため
で、セッション変数を利用して、ブラウザを閉じたときに、一
時ファイルも消滅すれば全く問題ありません(そのように理解
しております)。

完成したファイル内容を簡単に以下に載せます。

---- result.php -------
<?php
  session_start();
  $original_filename =
$HTTP_POST_FILES['filename']['tmp_name'];
  $img = @imagecreatefromjpeg ($original_filename);
  imagettftext($img, $size, 0, $x, $y, $color, $font,
$text); 

  ob_start();
  imagejpeg($img);
  $_SESSION['image'] = ob_get_contents();
  ob_end_clean();
?>
<BODY>
<TABLE>
 <TR>
  <TD width="80%" align="center">
   <img src="gousei.php">
  </TD>
 </TR>
</TABLE>
</BODY>

----- 以上 result.php -------

---- gousei.php -------
<?php
session_start();
header('Content-type: image/jpeg');
print $_SESSION['photomoji'];
?>
----- 以上 gousei.php -------

どうもありがとうございました。



--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/



PHP-users メーリングリストの案内