トップページ⇒php
1001コメント344KB

CGI: Common Gateway Interface part 11

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/06/14 22:26ID:F9qlqHNx
CGIの運用に関する質問スレッドです。

※CGIは特定の言語に依存するものではありません。

Perlのコーディングに関する質問は、専用スレでお願いします:
[Perl 初心者コーナー Part24]
http://pc2.2ch.net/test/read.cgi/php/1054992610/

CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[WebProg 初心者の質問 Part3]
http://pc2.2ch.net/test/read.cgi/php/1045091733/

過去ログ・関連スレッドは >>2-5 あたりに
0152nobodyさん03/07/17 00:35ID:???
>>150
マルチポスト?
http://pc2.2ch.net/test/read.cgi/php/1056730690/680
0153nobodyさん03/07/17 12:52ID:???
#! /usr/local/bin/perl
print "Content-type: text/html\n\n";
print "foo";

とだけ書いたCGIを、SSIの#include virtualで呼び出す。
ちゃんとfooという文字列が埋め込まれてめでたしめでたし…
と思ったら、なぜか特定のリンク元から飛んでくるとエラーになってしまう。
[an error occurred while processing this directive]

たったこれだけのスクリプトなのにリンク元によって動作が違うなんて
一体何が原因なのだろうか。
0154nobodyさん03/07/17 13:03ID:jvbzuuVH
Locationヘッダでリダイレクトするとき、
print "Location: http://www.foo.com/file/thanks.html\n\n";
でなく
print "Location: ../file/thanks.html\n\n";
のように相対パスで書くと、
確か、なんらかの条件(環境)のときに、
正常に動作しない・・・という記憶があるのですが、
どういう条件(環境)でしたっけ。
0155nobodyさん03/07/17 14:09ID:???
>>154
RFC2616 HTTP/1.1
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30
絶対URIに「すべき」と書かれているのに、
相対URIを薦めているバカサイトはどこだ?晒してみ。
0156nobodyさん03/07/17 14:31ID:???
>>155
どうしたら>>154から「相対URIを薦めているバカサイト」などというものが読みとれるんだ?
0157nobodyさん03/07/17 14:45ID:???
>>154-155
「相対URI」について補足。ID、PASS 共「cgi-ml」 。
http://ns3.yt.com/ml/cgi/htdocs/44500/44507.html
http://ns3.yt.com/ml/cgi/htdocs/44500/44509.html

Location: /abs_path/file は CGI 的には正しいけど、それを
サーバが Location: http://example.com/abs_path/file に
リダイレクトしてくれないと RFC2616 (HTTP) 的に不可になる、
という話らしい。

まぁ絶対URIで書いとくのが一番良いのは変わらんですが。
>>154 みたく相対URI且つ相対パスな指定はどっち的にも不可。
0158nobodyさん03/07/17 15:51ID:???
>>157のリンク、パスワード入れないと見れないのねん。。(´・ω・`)ショボーン
0159nobodyさん03/07/17 16:09ID:???
>>158
書いてあるじゃん
016015803/07/17 16:17ID:???
ホントダ!!
_| ̄|○ 吊に逝てきまつ
016115403/07/18 00:09ID:???
>>155
他人がつくったcgiを改修せなあかんのですが、
そのcgiの中に、print "Location: ../file/thanks.html\n\n";
があったもんで・・・。

なもんで、改修中なのでさらせませんあしからず。

>>157
ありがとうございます。
理解しますた。
0162nobodyさん03/07/19 11:31ID:7HceImjZ
あるサイトのURLで、拡張子がcgiの場合、
使ってる言語がperlである可能性って、
何%くらいだと思います?

-------------------------------------------------------------
(以下、事情というか、蛇足ですが)

というのも、うちの会社がレンタルサーバ屋さんをやってて、
うちのサーバではperlしか使えない(php、asp、jsp使えない)んですわ。、
(ちなみにおれは、その会社のウェブ制作事業部で、perlのプログラム組んでる)

で、サーバ営業の人が
「他のサーバからうちのサーバへ移行しましょうよ〜」と言うとき、
お客さんのサイトで使ってる言語が、わからないときがあるので。

拡張子がphpなら、移行無理ってわかるんですけど、
拡張子がcgiの場合、どうなんだろうと思いまして。
0163nobodyさん03/07/19 11:42ID:???
>>162
そんなフロントエンドの言語が何か知ったところでシステムを掌握出来るのかい。
0164nobodyさん03/07/19 18:30ID:???
他にもDBとかOSの種類とか色々な問題がありそうだが。
0165nobodyさん03/07/19 18:42ID:???
>>162
レンタルサーバーなら、実際のところ9割方perlなんじゃねーの?
ただ、>>164の言うとおり、dbやら、cronとかメールまわりとか、他にも障壁は山積みだが、
営業のとっかかりとしては拡張子cgiで判断してもいいんじゃねーの。
0166nobodyさん03/07/19 19:00ID:???
>>162
と、言うか、

>うちのサーバではperlしか使えない(php、asp、jsp使えない)んですわ。、

明らかに自社システムに魅力が無いのを何とかした方が良いんではないだろうか。
0167nobodyさん03/07/19 21:00ID:???
イマドキ、Perlだけでつか・・・。ネタ?
016816203/07/19 22:12ID:xa8aez3T
>>163
はげしくどうい
>>164
うち、DB使えません(泣)
>>165
crinなんて、たぶん営業の人は聞いたこともないだろー。
>>166
そうなんですよねー。
でも、もっと何かをつけたとして、はたしてカスタマーサポートできるのかどうか・・・
>>167
マジです。でも、rubyは使えるよw
016916203/07/19 22:13ID:???
>>168
crin はcronのtypoね
0170あぼーんNGNG
あぼーん
0171nobodyさん03/07/25 23:16ID:gaEpK534
CGIでjavascriptを含むhtmlを吐き出す時に、javascriptが働かないものがあります。
ヘッダは同じだし、吐き出されたHTMLをhtmlファイルとしてupするとちゃんとjavascriptをかみます。

特にエラーはでてきません。無視されますが。
IEでは「書き込みできません」というエラーがでます。

お心当たりある方はレスおねがいします。
0172あぼーんNGNG
あぼーん
0173nobodyさん03/07/26 02:05ID:MRZ/abmL
テキストファイルをHTML出力する際に、MacとWindowsで表示が変わってしまい、
困っています。同じフォーマットのHTMLファイルを作成して見る分には、
MacとWindowsの環境では違いはないので、タグの問題ではないと思います。

現象としては確認していないのですが、スペースで区切った部分がズレたり、
文字化けを起こしているようです。

原因に心当たりのある方はいらっしゃるでしょうか?
もしわかる方がいましたら、教えてください。よろしくお願いします。
0174nobodyさん03/07/26 02:29ID:???
>>173
「テキストファイルをHTML出力する際」ってどゆこと?
htmlなの? plaintext ファイルなの?

.txtとかをサーバにアップロードして、htmlファイルからリンクして表示するときのことだとすると、
.txt の Content-type が何になってるか、Content-type と一緒に吐く charset と
ファイルの文字コードが食い違ってないかとか確認したらいいと思うけど。
まずは現象を確認して、現象を再現できるようにしないと対応は難しいんじゃないかな。
0175あぼーんNGNG
あぼーん
0176nobodyさん03/07/26 03:11ID:MRZ/abmL
>174
レスありがとうございます。

正確には
1. テキストファイルをサーバにアップ
2. cgiでテキストファイルをもとに、データファイルを作成
3. 同じくcgiでデータファイルをもとにprintでHTML出力
という流れで処理しています。

このcgi出力で表示しているものとは別に、
同じフォーマットのHTMLファイルもあるのですが、
それだときちんと表示されています。

この違いがどこからくるのかわからなくて…。

現象の再現は、Macを持っていないので、ちょっと難しいのです。
0177nobodyさん03/07/26 03:25ID:???
>>176
出力が同じで見た目が違うということは
HTTP Response Headerが違うということ。
>>174さんの言う通り
>.txt の Content-type が何になってるか、Content-type と一緒に吐く charset と
>ファイルの文字コードが食い違ってないかとか確認したらいいと思うけど。
です。
0178nobodyさん03/07/26 03:28ID:???
>telnet www.***.com 80
GET /***/hoge.html HTTP/1.0

の出力結果と

>telnet www.***.com 80
GET /***/hoge.cgi HTTP/1.0

の出力結果で食い違う部分を貼ってごらん。
0179nobodyさん03/07/26 04:18ID:???
>177-178
レスありがとうございます。やっと意味がわかりました。

つまり、例えば2.のデータファイルはeucコードなのに、
3.でS-JISとして表示していないか、ということなのですね。

お恥ずかしい話なのですが、
無料サーバなので、telnetが使えないのです。

環境を再現する方向で、なんとか対応してみたいと思います。
こんな夜中にありがとうございました。
0180nobodyさん03/07/26 05:13ID:???
>>179
>無料サーバなので、telnetが使えないのです。
んなわきゃない。80番ポートにつなげられなかったらブラウザからでも見えなくなってしまうぞ。
0181nobodyさん03/07/26 06:00ID:???
レスありがとうございます。

念のため確認してみましたが、やはり切断されてしまいました。
ダメみたいです。
0182nobodyさん03/07/26 06:40ID:???
>>181
まさか
>telnet www.***.com 80
ってそのまま書いたんじゃないだろうな。
ttp://ash.jp/net/telnet_http.htm

そうでなければプロキシ使ってるんだろう。
>telnet プロキシ 8080(とは限らない)
GET http://www.***.com/hoge.html HTTP/1.0
とやるとか。

正直こっちの言ってることが分からないんだったら、
ヘッダを見るツールを使えばいい。
0183nobodyさん03/07/26 06:50ID:???
ちなみにCGI側でContent-typeを吐いても
サーバがそれを無視する設定になってることもあるから、
ちゃんと確認するにはヘッダを見るしかない。
0184nobodyさん03/07/26 07:02ID:???
ご親切にありがとうございます。

プロキシを使っているのかはわかりませんが、
やはり
>telnet サーバ 80
で、ダメでした。

ヘッダを見るツールですが、「httpReq」でいいのでしょうか?
DLして使える状態にしました。
0185nobodyさん03/07/26 08:17ID:???
度々すいません。
charsetが出ていなかったので、「webmekuri」でやってみました。
これでなにかわかるでしょうか?
お手数をかけて申し訳ないです。よろしくお願いいたします。

・perl
HTTP/1.1 400 Bad Request
Date: Fri, 25 Jul 2003 23:03:26 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.2 mod_gzip/1.3.26.1a mod_layout/3.2
Connection: close
Content-Type: text/html; charset=iso-8859-1

・text
HTTP/1.1 400 Bad Request
Date: Fri, 25 Jul 2003 23:04:30 GMT
Server: Apache/1.3.27 (Unix) PHP/4.3.2 mod_gzip/1.3.26.1a mod_layout/3.2
Connection: close
Content-Type: text/html; charset=iso-8859-1
0186nobodyさん03/07/26 11:57ID:???
質問するやつは名前にレス番を入れろよ
0187nobodyさん03/07/26 13:15ID:???
>>185
HTTP/1.1 400 Bad Request
はおかしいだろ。
perl(CGI?)の方はまだしもtext(HTML?)の方が400なのは変だ。
ブラウザでちゃんと見えてるのか?webmekuriのマニュアル嫁。
HTTP/1.1 200 OKになるまで帰ってくるな。
0188nobodyさん03/07/26 13:20ID:???
ってかアドレス晒せば一発。こっちから見てやるよ。
0189nobodyさん03/07/26 13:23ID:???
>>188
「やっぱりブラウザでも見れねぇぞ!」なんて言うどうでもいい情報のために何でそんな面倒くさいことせんといかんのだ。
0190nobodyさん03/07/26 13:33ID:???
>>189
別にそんなに面倒じゃないよ。
多分彼はツールの使い方を間違ってるんだよ。
もう説明するの面倒くさいからアドレス晒してくれた方が楽。
0191あぼーんNGNG
あぼーん
0192nobodyさん03/08/01 14:39ID:gYU9QUBu
CGIのテキストエリアに文字(アルファベット以外)を書くと
=%3E%3E1%0D%0A%81@%81@%81@%81@+%81@%81@%81R%2
8%A5%83%D6%A5%29%2F%81@+%81@%BD%DE%BA%B0%0D%0A%81@%81@%81@%81@+%81@%81_%28.%81_+%83m
こういう文字列にブラウザが変換してWEBサーバーに送りますよね
この変換機能をつかえるモジュールや関数ってないのでしょうか
単なる2バイトの漢字コードとおもってたんですが+とかxとかの意味がよくわかりません
解説しているページがあったらお教え願います
0193あぼーんNGNG
あぼーん
0194nobodyさん03/08/01 14:57ID:???
url encode decode でぐぐれ
019519203/08/01 15:18ID:???
>>194
謝謝
0196あぼーんNGNG
あぼーん
0197あぼーんNGNG
あぼーん
0198あぼーんNGNG
あぼーん
019919203/08/01 18:41ID:dlG1lsZs
ぐぐってみたんですけど
漢字コードの変換の解説しか出ないんですけど
+ とか xがなんでててくるのかがわかりません
0200ponpon03/08/01 19:02ID:???
fmlのメーリングリストの設定をしていて、正常に終わったはずなのですが、
CGIの設定をしてあるので、Webからアクセスして、新規MLを作成すると以下のエラーがでてしまします。
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka from main /usr/local/fml/makefml 3593
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka-ctl from main /usr/local/fml/makefml 3594
WARN: cannot open /.qmail-Lnux:unet:co:jp-ka-default from main /usr/local/fml/makefml 3595
ちなみにコマンドでmakefml newmlの場合はエラーなく作成できました。
どなたか、わかる方教えてもらえないでしょうか?お願いします。
0201nobodyさん03/08/01 22:33ID:???
>>199
いや、書いてあるだろう……
ぐぐったんなら複数のページを参考にしてみれ。

ちなみに + は半角スペースを置換したもの。
xは特に意味はない。(そのままxという文字。おそらくシフトJISの2バイト目だろう)
0202nobodyさん03/08/01 23:54ID:???
>>200
UNIX板に全く同じ質問をしている人がいるので参考にすると良い。
http://pc.2ch.net/test/read.cgi/unix/1058708085/334
0203nobodyさん03/08/02 00:06ID:???
マルチかよ!
0204nobodyさん03/08/02 00:58ID:???
>>199
まぁなんだ。Perlメモでも見れ。
ここはCGIスレだしお前さんはPerl使ってないかもしれないが、詳しい説明がある。
0205山崎 渉03/08/02 02:21ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0206ぼるじょあ ◆ySd1dMH5Gk 03/08/02 04:49ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0207nobodyさん03/08/02 10:28ID:fI9uzQF/
>>202
すいません、UNIX板に質問しているのま私なのです。(。。)
0208nobodyさん03/08/02 10:33ID:???
202は暗にマルチポストの指摘をしてるんだろ。
0209nobodyさん03/08/02 12:11ID:???
>>207
移動する時は元のスレに「○○へ移動します」と書いてから移動しろバカ
0210nobodyさん03/08/02 14:38ID:???
>>200
Linux板に似たような質問をしている人がいるので参考にすると良い。
http://pc.2ch.net/test/read.cgi/linux/1059545839/217
0211nobodyさん03/08/02 14:43ID:???
情報を追加しているのはいいのだが、先に質問したスレでレスがないからといって
放置するのはどうだろう。
だからマルチは嫌われるのだが。
0212nobodyさん03/08/02 15:10ID:???
わかる人いたら、教えてください。

LAN内のXPマシンにApacheを入れて、テスト環境を作りました。
以前に借りていたWebサーバーで使っていたPerlを動かしてみたところ、

open(IN, $filename)
$buff = <IN>;

とすると、テキストファイルの最後まで一気に読みこまれてしまいます。
以前の環境では改行までを読み込んでいました。
これは、どうしてなのでしょうか?
改行までを読み込むコードにするには、どうしたらいいのでしょうか。
0213nobodyさん03/08/02 15:14ID:???
>>207
改行が [LF] になっているのに 2 ヘェー
[LF] → [CRLF]にしる
0214nobodyさん03/08/02 16:29ID:???
>>212
また、来たよ…。>>1 も言語も書いてないオヴァカ質問者
まぁ、それは perl だから、答えると

> とすると、テキストファイルの最後まで一気に読みこまれてしまいます。

当たり前だろ。perl 知らないのか?
$buff には最初の行が入るだけで後は空読みして全部捨てられる。
スカラとかリストの事よく解ってないね
0215nobodyさん03/08/02 16:48ID:???
>>214
ネタレスするなら、マジレスの前に入れるべし。
0216nobodyさん03/08/02 17:55ID:???
>213
その通りでした。
テストで使っていたファイルだけ、たまたま[LF] になっていました。
[CRLF]の改行のファイルでやったらうまく行きました。
ありがとうございます。[LF]ではないと、思いこんでいました。

>214
さすがに、そのくらいはわかります(笑)。
0217nobodyさん03/08/02 18:42ID:???
> わかる人いたら、教えてください。

0218nobodyさん03/08/02 21:17ID:???
>>212
さすがに、そのくらいはわかります(笑)。
0219nobodyさん03/08/02 21:53ID:???
> $buff = <IN>;
>
> とすると、テキストファイルの最後まで一気に読みこまれてしまいます。

> さすがに、そのくらいはわかります(笑)。



( ´,_ゝ`)プッ
0220nobodyさん03/08/04 13:54ID:???
Perl-CGIを使って、XMLの送受信がしたいのですが、
方法、可能かどうかについて書かれたサイト、参考書が見当たらず困っております。。

Set xmlHTTP = CreateObject("Msxml2.ServerXMLHTTP")
xmlHTTP.Open "POST", "送信先URL", False
xmlHTTP.send xmlDoc
resXML = xmlHTTP.responseXML.xml

ASPでは、上記方法でらくらくといけるのですが、
Perlで同じことをする方法ってあるのでしょうか?
0221nobodyさん03/08/04 14:00ID:IgxIVir7
パーミッションはあってるのに、
ユーザから、
「あるcgiにアクセスしようとしたら、
403 のステータスコードが返された」といわれました。
でも、同じ作業を自分でやっても、再現性がとれません。(正常動作する)
これって、何が考えられるんでしょうか?
0222nobodyさん03/08/04 14:19ID:???
>>221
・ユーザをアクセス禁止している。
・ユーザが夏厨で嫌がらせで言ってる。
・同じ作業をやっていない。
お好きなのをどうぞ。
022322103/08/04 15:01ID:???
>>222
やっぱそんなもんすかw

すると、「同じ作業をやっていない。」なのかなー
0224nobodyさん03/08/04 16:46ID:CNOu+lh/
画像アップロード付きCGIでの質問です。

sub form { #(1)
# いろいろなFORMに入力させsubmitさせる。
# <input type="file">もある。
}
sub reconfirm{ #(2)
# 画像込みで仮表示し内容を再確認させてsubmitさせる。
# FORMからのデータは<input type="hidden"〜>で持ち回る。
}
sub data_input{ #(3)
# ユニークなdata_idを決めてデータを格納する
# 画像データはdata_idを元にユニークなファイル名を付けてupload処理(CGI.pmで)を行う。
}

こんな流れの処理です。
※次に続く
022522403/08/04 16:47ID:CNOu+lh/
※続き
元は受け入れデータがテキストのみで画像はなかったので、
これで上手くいっていたのですが、画像アップロード機能を付加した所
(2)を経由させると<input type="hidden"〜>では画像データを持ちまわって来ないので
とりあえず(1)→(3)として運用していますが、やはりこのままだと
ちょっとしたEnterキーの誤入力などでいきなり書き込みされてしまうので
どうしても(2)を介在させたいと思います。
(2)で再編集必要な場合、あるいは画像の選びなおしの場合に(1)に戻るのは
ブラウザの「戻る」ボタンを使わせます。
でもし画像込みで(2)の介在が可能ならば、(2)ではその画像も仮表示させたい、
と思っていますが、これを実現するには

A:(1)→(2)の段階でテンポラリーファイルにupload処理上で仮表示させ、
  (3)で正式なファイル名称にrenameする。

あるいは
B:(1)→(2)では画像ファイルを変数に格納した上で仮表示し、
  (3)で正式なファイル名称にした上、ディスクに格納する。

どんなふうにするのが当たり前、現実的でしょうか。
画像ファイルはJPEG又はGIFで二点ほどで、
$ENV{CONTENT_LENGTH}は200kで制限かけてます。
僕としては仮表示(正式にuploadするかどうかわからない)時点で
ディスクに書き込むよりはできれば変数に仮に格納するBにしたいのですが、
その方法がよくわかりません。
そもそも可能でしょうか。
022622403/08/04 16:49ID:CNOu+lh/
あ、言語はperlです。
0227nobodyさん03/08/04 17:17ID:???
>>226
Perl のみでは不可能。
削除できるんなら別にいらない機能かと思われ。
(ようするに誤送信する香具師が悪い)

あとなんでもいぃからアップローダのスクリプトを眺めて処理の流れを嫁。
022822403/08/04 17:44ID:CNOu+lh/
>>227
ども、ありがとうございます。
そうですか、perlだけではだめですか…

アップロード処理自体は問題なくできてます。
つまりFORMで受け取ってそれをディスクに格納、はできてます。
そのあいだに再確認の手順を挟みこめないかな、と、

で、その再確認で送ろうとする画像も表示したい。
とはいえもちろんまだローカルにしかないファイルを表示はできませんから、
この時点でサーバが受け取ってなくては無理なわけですが、
できればそれをテンポラリーであれディスクに書き込まないで
できないかな、と思った次第です。

やっぱりこの機能をあきらめるか、あるいはこの時点でとりあえず仮であれ
なんであれディスクに書き込む必要がある、って事ですね。
0229nobodyさん03/08/04 17:47ID:???
すいません、教えてください。
メールの添付ファイルをperlを使ってbase64デコードすると、
32KBのところで切れてしまいます。
perlのソースは下記の通りです。

# ===================================================================
# mime_dec_base64 … base64デコード
# Usage : &mime_dec_base64( $input )
# 引数 : 被デコードデータ
# 戻り値 : デコード済バイナリ
# 外部参照: なし
# ===================================================================
sub mime_dec_base64 {
$_ = @_[0];

# --- 非base64キャラクターと'='を除去
tr!A-Za-z0-9+/!!cd;

# --- 底を変換する
tr!A-Za-z0-9+/!\x00-\x3f!;

# --- 6ビット揃えして、戻す
$_ = unpack('B*', $_);
s/(..)(......)/$2/g;
s/((........)*)(.*)/$1/;
$_ = pack('B*', $_);

return( $_ );
}

よろしくお願いします。
0230nobodyさん03/08/04 18:24ID:???
>>227
なんか、勘違いしてるな(藁
023122903/08/04 20:18ID:???
すいません、自己レスです。
もともとbase64エンコードって、サイズの限界が32KBなんですね。
・・・ってことで、添付ファイルを分割後エンコード→結合って方法で
解決しました。
023222403/08/04 20:47ID:CNOu+lh/
画像表示したい所に、
while ( read( $fh, $buffer, $baffer_size) ) {
print "$buffer";
}
ってやったら文字化けずらずら出てきました。
なんか実現に近づいているような期待しているんですが、
勘違いですか?
0233nobodyさん03/08/04 20:52ID:???
それ、画像ファイルじゃねーの?
試しにその内容を .jpg とか .gif ファイルに保存して見れば?
023422403/08/04 20:54ID:CNOu+lh/
>>233
はい、画像ファイルです。JPEGです。
でファイルに保存したら見られます。

やりたいのはファイルに保存しないでHTMLファイルの
一部として表示しちゃいたいんです。
できませんでしょうか。
0235nobodyさん03/08/04 21:23ID:???
>>234
htmlでの画像表示法知ってるかい
urlでファイル名を指定するんだよ。
023622403/08/04 21:34ID:CNOu+lh/
>>235
GDとか使うとメモリ内のデータを画像として表示しますよね。
その辺の応用でできないもんかな、とか思って。

いろいろやってみてるんですが上手く行かないですけど。
0237235じゃないが・・・03/08/04 21:43ID:???
>>236
>GDとか使うとメモリ内のデータを画像として表示しますよね。
htmlでの画像表示法知ってるかい
urlでファイル名を指定するんだよ。
0238nobodyさん03/08/04 21:50ID:???
画像データをファイルに保存して、出力する html に <IMG src="..."> でいいんでは?
023922403/08/04 21:54ID:CNOu+lh/
>>237
はい、知ってます。
今はそれでやってますから。
FORMから受け取ったものをディスクに格納し、
表示はそのファイルを<IMG src="..."> で表示させてます。

で、FORMから受け取ったものをディスクに格納する前に、
表示する方法がないかな、といろいろやってみているわけで、
無駄な努力をしちょる、という事なんでしょうね、
きっと。
0240nobodyさん03/08/04 22:02ID:???
>>239
multipart/mixed なんてものもあるが、まともに実装されている
ブラウザが存在するのか疑問。素直に一旦ファイルに吐く方が
いいと思う。
0241nobodyさん03/08/04 22:02ID:???
>>236
>GDとか使うとメモリ内のデータを画像として表示しますよね。
表示するのは画像のみだけどね。
htmlで表示するには結局ファイルに保存しないとだめでしょ。
formで受け取ったjpeg画像もContent-type:image/jpegヘッダーの後に出力すれば
画像のみなら表示できる。
024222403/08/04 22:05ID:???
わかりました。

reconfirm で一旦テンポラリーファイルに保存→表示
data_input でrenameして正式格納、って事で進めます。

ありがとうございました。
0243nobodyさん03/08/04 22:41ID:???
>>224
binmode()したらいいんじゃないの?
024422403/08/04 23:11ID:???
>>243
それも試しましたがだめでした。
画像の生データをHTMLの途中に流し込んで、って言うのが
無理なんでしょうね。
0245nobodyさん03/08/04 23:18ID:???
>>244
>画像の生データをHTMLの途中に流し込んで、って言うのが
無茶もいいところ。
GDだって「HTMLの途中に流し込」むなんてできんだろ。
というかHTMLを0から勉強した方がよさげ。
0246nobodyさん03/08/04 23:20ID:???
訂正
>というかHTMLを0から勉強した方がよさげ。
というかHTMLとHTTPを0から勉強した方がよさげ。
024722403/08/04 23:50ID:???
>>246
画像吐き出すスクリプトを別にするなり再帰なり、何しろ別のプロセス
から吐き出して<IMG src=""〜>で呼ぶってのならできるんでしょうが、
まあ、言われなくてもいろいろ勉強中ですわ。

ほんじゃ
0248nobodyさん03/08/05 00:56ID:???
急に態度が悪くなったな
0249nobodyさん03/08/05 01:08ID:???
どうもポン7のようだ
0250nobodyさん03/08/05 01:18ID:???
何!ポン7だったのか。
JavaScriptでローカルファイルを表示させる方法もあるのだが
教えるのは辞めておこう。
0251nobodyさん03/08/05 01:26ID:???
コイツの言っている事は、テキストファイル中に実行可能ファイルの
バイナリ埋めこんでそれを実行しようとしているようなもんだな
■ このスレッドは過去ログ倉庫に格納されています