[PHP-users 31729] Re: POST で送信し、 GD でダイレクト出力し、< img >で表示する方法
土屋
tsuchiya_masahiro @ yahoo.co.jp
2007年 3月 22日 (木) 03:09:47 JST
ツチヤです。
未だ解決できず悩んでおります。
中村@東京様、おく@Workgroup様
アドバイスありがとうございます。
中村@東京様、
> 以下はどうなりますか?
>
> 1.gousei.php 内の $_SESSION['image']
> をファイルに出力
> 2.出力されたファイルを確認
gousei.phpを以下の内容にして検証してみました。
<?php
header('Content-type: image/jpeg');
print $_SESSION['photomoji'];
$fp = fopen('tmp/test', 'w');
fwrite($fp, $_SESSION['photomoji']);
?>
この場合、tmp/testには何も作成されませんでした。
同じ
$fp = fopen('tmp/test', 'w');
fwrite($fp, $_SESSION['photomoji']);
を、result.phpで、
<img src="gousei.php">の直前に書いた場合は、
tmp/testに画像ができます。
この場合、やはり$_SESSION変数の受け渡しがうまくできてい
ないのでしょうか?だとすれば、どのような原因が考えられる
のでしょうか?
おく@Workgroup様、
> そして、ブラウザでtmp/testにアクセスしたところ、
> きちんと画像が表示されました。
>なら、
>header("location: /tmp/test");
>でいいんじゃないですか・・・
gousei.phpを以下に変更しました。
<?php
header("location: /tmp/test");
print $_SESSION['photomoji'];
?>
この方法で試したところ、きちんと表示されました。
(ということは、$_SESSION変数はきちんと動いているのでし
ょうか??)
しかし、/tmp/testは自分で適当につくったファイルのため、/tmp/test
をアップロードされたファイルの一時ファイル名である、
$HTTP_POST_FILES['filename']['tmp_name']
にしたいと思いました。
そこで、result.phpで
1.
$_SESSION['filename'] = $HTTP_POST_FILES['filename']['tmp_name'];
2. $fp = fopen($_SESSION['filename'], 'w');
3. fwrite($fp, $_SESSION['photomoji']);
(※$_SESSION['photomoji']は、imagejpegを、ob_get_contents()
したものです。)
として、gousei.phpで、
header("location: /tmp/test")
の代わりに、
header("location: $_SESSION['filename']");
としてみました。
しかし、この場合は、画像もエラーも表示されませんでした。
これはアップロードした一時ファイルを使って作業することに
無理があるのでしょうか?
今一度、ご教授のほど、どうぞよろしくお願いいたします。
--- Mitsutoshi Nakamura <gmataw @ bitvalue.com> wrote:
> 中村@東京です。
>
> > gousei.phpの内容は以下のとおりです。
> >
> > ---- gousei.php ----
> > <?php
> > header('Content-type: image/jpeg');
> > print $_SESSION['image'];
> > ?>
> > ---- 以上 gousei.php ----
>
> 以下はどうなりますか?
>
> 1.gousei.php 内の $_SESSION['image']
> をファイルに出力
> 2.出力されたファイルを確認
>
> もし、正常に画像が保存されていない場合はセッション周り
を
> 確認してみましょう。
>
>
> _______________________________________________
> 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
>
--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/
PHP-users メーリングリストの案内