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

CGIだけど、なんか質問ある? part 6

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/04/23 20:28ID:Kp0cZQna
CGIスクリプトの運用に関する質問スレです。

<<注意:CGIは特定の言語に依存するものではありません>>

Perlのコーディングに関する質問はこちら
【Perl】初心者コーナーPart11
http://pc.2ch.net/test/read.cgi/php/1017201229/


過去ログは>>2
065563502/06/16 19:18ID:AKIK3E+W
>>654

今日の内に質問の答えが返らなければあきらめましょう。
今夜、この板を含むプログラム関係の板は、荒らしによって消滅します。
0656nobodyさん02/06/16 19:36ID:z5KHLw2y
>>654
こっちにももっとヒントを下さい
ものすごく難しいなぞなぞだ・・・
065765402/06/16 20:13ID:???
>656
ヒントですか、どう説明したらいいんでしょうか。
私は、絶対パスってURLとイコールして考えてたんですね。
なのに、わざわざ「URLではなくパスで」と書いてあるので
そこから悩んでしまったんです。

使いたいスクリプトの解説には

・$zettai = のところをログファイルのディレクトリィまでのパスを指定して下さい
(絶対パスでも相対パスでもOKです)

スクリプト自体には

#ログファイルのディレクトィまでの絶対パス(相対でも可)
$zettai = '/export/home1/aaaaa/public_html/cgi-bin/library/schedule/';
#$zettai = '/www/aaaaa/public_html/cgi-bin/schedule/';

と記述してあるんですけど(aaaaaだけ書き換えました)
私が初歩的なところを分かっていないとは思うんですけど
絶対パスの定義が分からなくなって混乱してます。
0658nobodyさん02/06/16 20:14ID:???
>>654
それだけじゃわかんね
必要な部分隠してソース丸上げしてみそ
065965402/06/16 20:16ID:???
一度は諦めて、違うスクリプトも探して設置してみたんですけど
やっぱり最初のが使い勝手とかいいんで、出来れば最初のを
使いたくて四苦八苦してる次第です。
066065802/06/16 20:16ID:???
アホだ…、訂正してしばし逝ってきます
×必要な部分
○個人特定されそな部分
0661nobodyさん02/06/16 20:29ID:???
>>657
相対パスでも可なら相対パスにすりゃいいじゃん。

ドキュメントルートの絶対パス
print "Content-type: text/html\n\n";
print "$ENV{'DOCUMENT_ROOT'}";
066265402/06/16 21:02ID:???
ソース丸上げですか。結構、長いので上げておきます。

ttp://www.geocities.co.jp/MusicStar-Live/8489/script.txt

>661
絶対パスで混乱して、相対パスをどう定義すればいいのか
分からなくなってたんです。
一人で悩みながらいじってて、頭ん中に?が
ぎゅうぎゅう詰めになってしまって。

0663nobodyさん02/06/16 21:51ID:???
>>662
検索してみるといろいろ解説サイトがみつかる
http://www.google.co.jp/search?hl=ja&q=%90%E2%91%CE%83p%83X+%91%8A%91%CE%83p%83X
066465402/06/16 22:18ID:???
>663
わざわざ有難うございます。
まだ一つ目のページを読んだだけなんですが…。
絶対パスってイコールURLじゃ…なかったんですね。
私の持ってる本だと、URLだと解釈出来たんで
今までずっとそう思ってました。目から鱗。
0665nobodyさん02/06/16 22:26ID:???
>>662
パーミッションが正しくない可能性は無いか?
実行はできても書き込めないとか

public_html/cgi-bin/library/schedule/
public_html/cgi-bin/library/schedule/mycalen.cgi
public_html/cgi-bin/library/schedule/cgi-lib.pl
となってるようだが
066665402/06/16 23:16ID:???
レスくれた皆さん、有難うございました!
無事に動作しました。
原因は絶対パスを勘違いしていた事に尽きますね。
>663さんの解説サイトの一つに絶対パスを調べるCGIがあったので、
それで調べてみると自分が思っていなかったパスになりました。
勉強不足を実感しましたが、ログが生成されたのを確認出来た時の
嬉しさに声を上げてしまいました。
知識足らずの教えてちゃんにレスを本当に有難うございました。
0667nobodyさん02/06/17 02:11ID:avz6N9SR
Perlについて質問です。

$date{'select_1'}
$date{'select_2'}
$date{'select_3'}
$date{'select_4'}
これを、
$date{'select_$x'}
という風に数字の部分を変数にして表したいのですが、どのように表現
すればよいのでしょうか?
0668nobodyさん02/06/17 02:20ID:???
$date{"select_$x"}
0669nobodyさん02/06/17 05:37ID:???
>>667-668
当たり前すぎてワラタ
0670nobodyさん02/06/17 07:14ID:nRo1vqSR
>>668
このようにするとうまくいかないのですが・・・。
0671nobodyさん02/06/17 07:17ID:nRo1vqSR
具体的に・・・

[error] [client 127.0.0.1] syntax error at c:/apache/htdocs/test.cgi line 550, near "}"

このようなエラーが出てきます。
0672hoge02/06/17 07:25ID:???
syntax error: 文法エラー
at: 〜に
line: 行
near: 〜の近くに
0673nobodyさん02/06/17 08:00ID:???
>>668 文法エラーにワラタ

$date{'select_' . $x}
0674nobodyさん02/06/17 14:20ID:oSTbTHVJ
このスレでいいのかな・・・?
cookieを使ってROM禁の掲示板をやってますが、
ブラウザをcookieを食べる設定にしても、レスが見えない人がいます。
(その人は、XP&IE6を使ってます。)
レスを見れないと言ってる人は、ログを見るとcookieを食べてないのですが、
ブラウザはcookieを受け付ける設定にしてると言ってます。
掲示板のスクリプトはありふれた物で、変わった事はしてません。
他のユ−ザは問題ないですし、私が動作チェックした時も問題ありませんでした。
一部のIE6ユーザだけが見れないみたいなんです。
これはIE6の不具合なんでしょうか?
0675nobodyさん02/06/17 14:57ID:???
ググったらいっぱいでてきたし、おそらくユーザ側の問題でない?
http://www.google.com/search?num=50&lr=lang_ja&q=IE6%20Cookie
067667402/06/17 15:22ID:???
>>675
私もそうだと思うんですが、cookieを食べてるって言い張るんですよ・・・。
取り敢えず上のURLに誘導してみます。
ありがとございました。
0677nobodyさん02/06/17 16:15ID:9yBZa2Oo
教えてください。
cgiを設置したのですが、
adminって書いてある管理者モードのところがあるのですが、
そこに入ることができません。
これって、どこを直すとよいのでしょう?
0678nobodyさん02/06/17 16:20ID:???
>677
それはたいへんですね。 URL を書いていただければこちらで確認してもいい
のですが。
067967702/06/17 16:27ID:9yBZa2Oo
すみません。
ここ↓なのですが、なんとかなりますか?
http://cgi.tripod.co.jp/cyndi/cgi-bin/jdiary.cgi
0680hoge02/06/17 16:29ID:gBMmBBrY
>>677
しつもんのしかたをなおすとよいでしょう。
0681nobodyさん02/06/17 16:32ID:HzoJQ/16
>>673
そのようにすればよかったのですか・・・。
参考になりました。
ありがとうございました。
068267702/06/17 16:43ID:9yBZa2Oo
すみません。 でわ。もう一度。
日記ページなのですが、下のところのマスターってとこから入ると
管理者用のログインページが表示されるはずなのですが
まったく表示されないのです?
初心者でどこが?なのかも分からなくて。
何とか、ならないでしょうか?
0683nobodyさん02/06/17 17:08ID:???
設定がされてないのでは?
0684nobodyさん02/06/17 17:21ID:???
いやむしろ設定するとき重大なミスをしたのでは?
068567702/06/17 17:28ID:9yBZa2Oo
設定時の重大なミスなのですか?
特には何もせず設置しちゃったのですが
どのあたりを見て直せば良いですか?
0686nobodyさん02/06/17 17:36ID:???
どこで配布されてるものなの?

Perlで書かれたCGIだったら普通はCGIファイルの初めのほう。
別の設定ファイルがある場合も。
0687nobodyさん02/06/17 17:37ID:???
>>685
レンタルのCGIならレンタル元に、KentなどCGIスクリプト配布サイトで
ダウンロードしてきたスクリプトを自分で設置したのならスクリプトの
配布元に相談しる。

日記のCGIですって言われても世の中にいっぱいあるんだからわからんよ。
0688nobodyさん02/06/17 17:37ID:???
>どのあたりを見て直せば良いですか?
設定マニュアル
068968702/06/17 17:41ID:???
ってURL晒してたのか読み飛ばしてた。すまん
0690nobodyさん02/06/17 17:53ID:???
すまんが、
最近これブレイクしてるらしいんで。

|>( ≡?ω?)<魚
|>( ≡´∀`)<魚
|>( ≡゜∀゜)<魚
|>( ≡ ゚Д゚)<魚
|>( ≡・∀・)<魚
|>( ≡?∀?)<魚
|>( ≡@-@)<魚
0691nobodyさん02/06/17 18:07ID:???
質問させてください。
フリーのBBSCGI(↓これ)なんですが
ttp://isweb40.infoseek.co.jp/play/hirodd2/cgi-bin/sakula_b5/bbs.cgi

書き込まれている文章はEUC、
BBS自体の文字はS-JISなのです。
そのために、書き込みを見るにはEUCにせねばならず、
そうするとBBS自体の表示が化けてしまって見栄えが悪く、
BBS自体の表示をちゃんと表示するためにSJISにすると
書き込まれている内容が化けて読めないということになってしまいます。

つまるところ、EUCかSJISのどちからに統一したいんですけど
これ、どうやったらいいんでしょうか。
0692nobodyさん02/06/17 18:12ID:???
>691
サイトを見たところ、内部処理がEUCでフォーム出力がSJISということですね。

フォーム出力をEUCのままでやるだけで解決します。
0693_02/06/17 18:28ID:???
>>692
いや、具体的にそれがわからんのでは?
0694nobodyさん02/06/17 18:36ID:???
質問です

jcode.jpをリクワイヤしたのに、ブラウザの表示が
ばけてます。どうしてですか?
0695 02/06/17 18:38ID:???
jpかよ・・・
0696nobodyさん02/06/17 18:40ID:???
jp って、JPerl の拡張子?
0697nobodyさん02/06/17 18:45ID:???
何をリクワイヤ?したところで、「文字コードを揃える」という
処理をしなければ、化けても文句は言えまい
069869102/06/17 18:57ID:???
>>692
あぁ〜!
どっかおかしいと思ったら転送時にSJISで転送しちゃってました・・・
printはそれ自体の形式で生成するみたいで、お陰でEUCとSJISと
混ざっちゃってたみたいです。ありがとうございました。
0699nobodyさん02/06/17 19:41ID:???
まぐわいや?
0700nobodyさん02/06/17 19:54ID:???

今だ!700番ゲットォォォッ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄       (´´
     ∧∧   )      (´⌒(´
  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
        ̄ ̄  (´⌒(´⌒;;
      ズザーーーーーッ

http://www.geocities.co.jp/Milano-Cat/1568/zuza.swf?b64=jaGCvoFJglaCT4JPlNSDUYNig2eDSINIg0iDYoFJgUk%3D
0701nobodyさん02/06/18 03:41ID:???
aska(http://www.kent-web.com/bbs/aska.html)の
i-mode版(http://red.tomato.nu/desperado/software/)に、
i-PADv2(http://www.kent-web.com/bbs/ipad/ipad2.cgi)みたいに
返信がいくつ返ってきてるかわかる表示を加えたいんですが、
どこをどういじればいいのでしょうか・・・ご教授お願いします。
0702nobodyさん02/06/18 08:36ID:???
>>701
マルチすんな
0703nobodyさん02/06/18 10:42ID:LbKvXgZA
ちょっと前に別の掲示板で質問したんだけど
回答を貰えなかったので質問

open(LOCK,">どうでもいい空ファイル");
flock(LOCK,2);

ファイルAを読み込んで加工
テンポラリファイルBに書き出し
rename(ファイルB,ファイルA);

ファイルCを読みこんで加工
テンポラリファイルDに書き出し
rename(ファイルD,ファイルC);

flock(LOCK,8);
close(LOCK);

この処理でファイルA、ファイルCが壊れる確率ってどの程度でしょう。
rename途中にシグナル発生でプロセスが死んだりした場合以外は
そうそう壊れないでしょうか。
0704nobodyさん02/06/18 10:59ID:???
>>703ロックしたまま何らかの原因で落ちたらどうするんだろうねぇ?

で、これがどうCGIと関係あるの?

取り敢えず、↓これ読んでみたら?
http://www.din.or.jp/~ohzaki/perl.htm#File_Lock
0705nobodyさん02/06/18 11:12ID:???
>>703
Unix系なら、rename実行時にファイルが壊れることは
ないと思っていいんじゃない。詳しくはrename(2)のman参照。
むしろ1回目と2回目のrenameの間でプロセスが死んだ場合などに
ファイルAとCの不整合がおきるほうが可能性は高そう。

それから、わかってると思うけどopen、flock、renameを
実行したときは必ず戻り値を見てエラーチェックしる。
070670302/06/18 11:18ID:???
おお、素早い回答感謝です

>>704
一応シグナルハンドラを設定してロックは解除するように
してます。というかflockってプロセスが死んだら自動的に
解除されませんでしたっけ?

>>705
はい、戻り値を見てエラーチェックして、途中でエラーが
発生したら前のファイルは元に戻るようにしてます。
まあ戻らなくてもいいものがほとんどなので一部を除いて
そのままですが。

というわけでありがとうございました。
0707nobodyさん02/06/18 16:13ID:yIzQCv5h
Perlで書かれたCGIにてメールを送信する際に、
PGPで暗号化して送信したいんです。

さんざん検索したんですが、
個人間でやりとりするメールを暗号化する話しかひっかかりませんでした。

サーバはレンタル、メール送信する際はsendmailを使ってます。
なんかいいやり方や情報、お願いします。

# 他スレでも質問しましたが、板違いとのことでしたので、
# マルチではないと思います。
0708nobodyさん02/06/18 17:52ID:???
>>707
それ面白いですね。
もしできるとしたらすでにあると思います。
0709nobodyさん02/06/18 18:58ID:???
**.cgiにアクセスするとuser_agentを利用してメイン画面をPC用と携帯用、別々に表示するように手直しした掲示板系CGIなのですが、メイン画面は別々にきちんと表示します。
しかし、そこから例えば**.cgi?mode=search_1にアクセスしても飛ばないのです。
直接**.cgi?mode=member_viewとかでもダメでした。
多分処理のさせ方が変じゃないかと思います。何処が悪いかこれだけでわかりますか?追加2箇所削除すると正常です。

if ($u_agent eq "5") { &pc; } #PCメイン←ここ追加
else { &in_form; } #携帯メイン←ここ追加
if ($in{'mode'} eq 'member_view') { &members_view; }
elsif ($in{'mode'} eq 'mailform') { &mailform; }
elsif ($in{'mode'} eq 'sendmail') { &sendmail; }
elsif ($in{'mode'} eq 'search_1') { &search_1; }
elsif ($in{'mode'} eq 'search_2') { &search_2; }
else { &manual; }

これ以外でcgiにアクセスされた時PCの時は"&pc"処理。携帯は"&in_form"処理させる方法があれば教えて下さい。。
0710nobodyさん02/06/18 19:01ID:???
>>707
http://www.harukaze.net/~mishima/perl/module/mlstj2.html#2-14
簡単に使えるようになるのは、まだ先の話ってことなんだろか?
071170702/06/18 19:15ID:???
>>708 >>710
レスさんきゅ!

今のレベルのオイラにはサパーリでしたが、
簡単にはできないという結論ですよね。

オンライン通販してるショップサイトにて「SSL+PGPで安心!」とあったので
どうやってるんかなと単純に疑問を持ったのでした。
0712nobodyさん02/06/18 21:33ID:???
>>711
fmlのパッケージの中に、libpgp.pl なるモノがあった
パッと見た感じは、別途導入した pgp へのI/Fのようだ

ま、ご参考までに
0713nobodyさん02/06/18 22:02ID:???
age
0714nobodyさん02/06/18 22:26ID:T2Ry5zLo
Perlで2chに書き込めるスクリプト教えてください。
0715nobodyさん02/06/18 22:52ID:???
Dukeでも作りたいのですか?だったら氏んでください
0716nobodyさん02/06/19 03:50ID:???
ものすごく厨な質問かもしれませんが……

CGIを使えるサーバで、.htaccessも使えるかどうかはどうやって確認すれば
いいのでしょうか?ISPのサーバだと、CGIはOKでも.htaccessは不可だったのですが、
ISPやレンタルサーバのFAQには特に明記されてなかったので、困ってしまって……。
サーバ管理者にメールなどで問い合わせるしかないのでしょうか?

新しくサーバを借りようと思います。お勧めのサーバがあれば、
上記の質問に併せてご推薦いただければと思います(こっちは板違いなので
無視して頂いてもいいです)。

具体的には、特定の人に対して、index.htmlのあるフォルダへのアクセス制限かけたいんです。
宜しくお願いします。
0717nobodyさん02/06/19 06:48ID:???
>>716
メールで聞くのがよさげ。
0718nobodyさん02/06/19 09:45ID:???
>>716適当なテスト用の .htaccess 置いてみればいいじゃん
0719nobodyさん02/06/19 11:46ID:???
任意の文字列を検索してその行の配列のマッチした文字列以降を書き換えたい
場合、パタ−ンマッチしたあとなにをすればいいのでしょうか?
0720nobodyさん02/06/19 12:09ID:???
読解不能。具体的に何がしたいんだ?
072171902/06/19 12:27ID:???
(userid,pass,個人情報)が何行も書かれたリストのなかから任意の
useridを検索してその個人情報を書き換える方法がしりたいです。
0722nobodyさん02/06/19 12:28ID:???
>>721
で、それがどう C G I と関係ある訳?
072371902/06/19 12:32ID:???
いや、formから>>721の作業をやろうとしてるんで。
0724nobodyさん02/06/19 12:37ID:???
それはもう【コーディング】の話だろ。各言語のスレ逝くなり、http://pc.2ch.net/tech/ 逝けば?

ここは【Common Gateway Interface】に関するスレだよ
0725nobodyさん02/06/19 12:37ID:???
もっと具体的にどの部分でつまづいてるの?

普通にファイルを読み読みながらマッチした部分があれば書き替えて一時ファイルに
書き込んでいき、リネームする。これをファイルロックを使ってやればいいのでは?
072671902/06/19 12:42ID:???
自分のやり方なのであってるかわかりませんが
while(<FH>)
if (/マッチさせるもの/)
でマッチングに成功したんですがこの方法だとどうやってマッチ行の文字列
を書き換えていいのかわわらなくなってしまい、
別の方法があれば教えてもらおうかと、、。
>>724 意味がわかんないんですけど
072772502/06/19 12:48ID:???
WEB上から入力された検索キーが変数 $in{'KEY'} に格納されているとすると、

while (<FH>){
if (/\Q$in{'KEY'}\E/o){
ここでマッチした行の書き替えたい部分をすりかえる
}
}

724さんとしては、WEB上からのデータを扱っていてもつまづいてる部分の
処理内容はCGIの部分とはべつものだということ。
0728nobodyさん02/06/19 12:49ID:???
>>725でほぼ答え出てるだろ。そこから、自分で勉強しようとは思わないのか?
それにおまえの質問はスレ違い
072971902/06/19 12:58ID:???
そうだったんですか、すみません。
>>727の方法を勉強してみます。
パタ−ンマッチでやるのとfor文で$iを増加させて$list[i]で一行づつ
照らし合わせる方法もなくもなかったんですがなんとなく
処理負荷がマッチよりかかる気がして、、、、実際のとこどうなんでしょう?
073072502/06/19 13:02ID:???
それって、ファイルの行番号で検索しているということ?
073171902/06/19 13:07ID:???
たぶんそうです。
そっちの方が行番号が得られるので書き換えが簡単なんですが
>>729的なイメ−ジがあるので、、どうなんでしょう
073272502/06/19 13:10ID:???
行番号だったら while でも変数 $. に自動的にセットされますが...。
0733ト−シロ02/06/19 13:33ID:???
あ、、ほんとだ、、一発解決ですた。
これなら配列で書換え可能でした。
どうもお騒がせしました。

0734nobodyさん02/06/19 14:44ID:es/NDl1S
Windowsサーバ上のフォルダツリーをブラウジングできるCGIスクリプト、転がってたら教えてください。
日本語ファイル名対応のがいいです。
0735nobodyさん02/06/19 14:46ID:???
スレ違いニョ。
0736nobodyさん02/06/19 20:23ID:???
>>734
それ、HTTPサーバ。
0737nobodyさん02/06/19 23:37ID:???
age
0738nobodyさん02/06/19 23:42ID:???
ソース診てもらえませんか?

use IO::Socket;
use FileHandle;

なぜか文字ばけします
#require 'C:\Inetpub\wwwroot\test\jcode.jl';

$host = 'localhost';
$port = 6060;

文字コードはこれが一般的なのかな?
print "Content-type: text/html\; charset=EUC-JP\n\n";
#print "$host:$port<p>";

$socket = IO::Socket::INET->new(PeerAddr => $host,
PeerPort => $port,
Proto => 'tcp',
);

if ( ! $socket ){
die "misss<p>";
}

print $socket "ON";
$socket->flush();



この辺りで、止まってますどうしてでしょうか???????
ここが一番わかりません!
#$buf = <$socket>;
#print "$buf";
while(<socket>){
print $_;
}
print $socket "END";
print "END<p>\n";
$socket->close();
0739nobodyさん02/06/19 23:45ID:???
require 'C:\Inetpub\wwwroot\test\jcode.jl';
↓
require 'C:\\Inetpub\\wwwroot\\test\\jcode.jl';
0740nobodyさん02/06/20 11:01ID:???
>>738
CGIとは関係ないようだが?
つーか自分で理解できないコードを書くなよ。
どこかから移してきたのならその「どこか」を書け。
いきなり「ソース診てもらえませんか」もないもんだ。

>>739
試してみれば判るけど、バックスラッシュは一つで問題なし。
0741nobodyさん02/06/20 14:32ID:qw4hZtl9
フォーム送信CGIについてご質問があるのですが、
sendmailを使ってのフォーム送信CGIでmailtoの宛先に
間違って存在しないメールアドレスを記述してしまった場合、
その送信フォームCGIから送られたデータはどこにいってしまうのでしょうか?
存在しないので送り返されるとしたらどこに戻ってくるのでしょうか?
0742nobodyさん02/06/20 14:51ID:???
すみません、質問させてください。
ブラウザ上でHTMLのテキストフィールド(<input type="text">)にデータを入力し、
submitボタンを押したらCGIを呼んで、そのCGIからExcelのシートにどうにかデータを渡せないでしょうか?
つまりはCGIからExcelにデータを渡したい・・・と。

よろしくお願いします。
0743レベル落ちたねぇ…02/06/20 15:15ID:???



( ゚д゚)ポカーン


0744.02/06/20 15:18ID:???
>>742
Excelのシートってのはアプリ固有のフォーマットを持ったファイルだろ。
不可能とまでは言わないが、それをCGIで処理は無理があるだろう。
せいぜいCSVにでも書き出してローカルでインポートでもしたら?
074573802/06/20 17:08ID:???
たびたびすみません
ここを参考に、CGIからソケットで独自のサーバにつなぐプログラムを
つくっています。現在では通信テストの段階でアプリプロトコルの設計
は、HTTPを参考に開発しようと考えています。

http://x68000.startshop.co.jp/~68user/net/module-1.html

サーバ:IIS5
CGI:ActivePerl5 DLL

@構成
 ブラウザ→CGI/Perl→(ソケット通信)VBサーバ

@最大のトラブル
CGIからVBサーバにソケット送信して、そのエコーを受け取りたいのですが
CGIプログラムが正しく動作しません。VBの動作はTelnetで確認しました。

CGIのPrint文で止まります。問題のコードは次のとおりです

問題のコードと思われるパターン1
$buf = <$socket>;
print $socket "$buf";

問題のコードと思われるパターン2
while(<socket>){
 print $_;
}

いづれも、VBエコーを表示できません。
どこがおかしいのかよろしくお願いします。
074673802/06/20 17:23ID:???
たびたびたびすみません

エコー機能は成功しました。
$buf = <$soket>;
print "$buf";

ただ、このコードが成功しません
while(<$socket>){
print $_;
}
このコードが止まりません。
ソケットを切断するととまりました。
どうしてでしょか?

あと日本語が表示されません。化けます
jcode.jpを要求したのに、どのように合わせたらいいですか?
0747nobodyさん02/06/20 18:18ID:???
>>745-746
CGIは関係ないでしょ。まず Perl 単体での正常動作を目標にしる
0748nobodyさん02/06/20 18:23ID:cqGMaGWX
指定したメールアドレスに送られてきたメールアドレスを
自動的にデータベースに登録や削除するスクリプトは
どんな感じになりますか?

0749nobodyさん02/06/20 18:28ID:???
>>748
「メール振り分け」「procmail」あたりで検索
075073802/06/20 18:40ID:???
>>747
わかりますた。文法はPerl板へ逝きます

文字コードについてだけおしえていただけませんか?
xxx.cgi ← シフトジスで保存してます
CGIはこうかいてます
print "Content-type: text/html\; charset=EUC-JP\n\n";

つまり、ブラウザではシフトジスをEUCに変換して表示ということ
でよろしいでしょうか?
0751nobodyさん02/06/20 19:06ID:???
>>750
違う。変換はちゃんと変換処理する必要がある(jcode.plなどで)

>print "Content-type: text/html\; charset=EUC-JP\n\n";
これはただブラウザに「このテキストの文字コードはEUC-JPです」と伝えているだけ。
だから当然テキスト自体がShift_JISなら文字化けする。
0752nobodyさん02/06/20 19:12ID:???
2ちゃんねるのread.cgiは昔はQUERY_STRINGから読み取っていたのに、
今はPATH_INFOから読んでいるようですが、
QUERY_STRINGではなくPATH_INFOから読むことにどのような意義があるんですかね?
送信する文字数が減るだけ・・・ではないと思うのですが・・・
0753nobodyさん02/06/20 19:14ID:???
>>750
これでうまくいきました
print "Content-type: text/html\; charset=SHIFT-JIS\n\n";

jcode.jpをはずしましたが、同じように動きました。
jcode.plは、どのような働きがあるのでしょうか
0754nobodyさん02/06/20 19:39ID:???
>>752
まあ2chの場合は転送量が減ることが大きかったよな。
一般には、ttp://domain/download.cgi/hoge.jpg みたいなURLは
ローカルに保存するとき"download.cgi"じゃなく"hoge.jpg"という
ファイル名になる(ブラウザがごまかされる)ので便利。
■ このスレッドは過去ログ倉庫に格納されています