トップページ⇒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
0063あぼーんNGNG
あぼーん
0064nobodyさん02/04/30 12:03ID:???
>>62
search.cpan.org
0065nobodyさん02/04/30 18:11ID:???
%0aってなんでしょうか?見た目のログファイルは空なんですが、読み込むと入ってるんですが、、、。
0066nobodyさん02/04/30 20:25ID:???
(´-`).。oO(>>65 エンコード/デコード勉強して…)
0067nobodyさん02/04/30 23:52ID:d8JAf0Y1
携帯電話とPCとで使える返信つき掲示板スクリプトが欲しいのですが
どこかにオススメがありますか?フリーで。
携帯はi-mode、ezwebなど全キャリア使える物がいいです。
スレ違いだったらスマソ
0068nobodyさん02/04/30 23:56ID:???
>>67
スレ違いだよ

こんなCGI探してますスレッド Ver.5
http://pc.2ch.net/test/read.cgi/php/1013282469/
0069hanamogera ◆kkkKkkko 02/05/01 00:30ID:biMRccvK
>>67
作ってる。
もうほとんど出来上がってるから、近日中に公開するかも。
http://www.sgmt.jp
0070nobodyさん02/05/01 00:43ID:7kFV3X0F
名前ドットplと名前ドットpmとの動作の違いを教えてください。
0071nobodyさん02/05/01 00:50ID:???
>>70
ファイル名(拡張子)の違いで動作は変わらないと思う。
0072nobodyさん02/05/01 01:52ID:???
>>70
requireとuseの動作の違いについてまず調べなされ
0073nobodyさん02/05/01 03:23ID:Xs4tHxYm
すみません、.htaccessというのは、拡張子をそうしろということですか?
それとも、.htaccessがファイル名? その場合の拡張子は?

スマソ、参考サイトに載ってない罠。
0074nobodyさん02/05/01 03:27ID:???
(´-`).。oO(拡張子? .htaccess が *ファイル名* です)

拡張子なんて言葉、誰が最初に言いだしたか知らんが、マヌケだね…
0075nobodyさん02/05/01 03:28ID:Xs4tHxYm
じゃあ、ファイル名を.htaccessにだけしておけばいいってことか…
スマソ、数分前にはじめたばかりで。
拡張子txtでしかあがんないから。
0076nobodyさん02/05/01 03:32ID:Xs4tHxYm
ヲ、できたできた、お騒がせスマソ。
0077 02/05/01 03:32ID:???
>>75
Windowsなどでは .htaccess というファイル名では保存できない。
適当な名前のテキストファイルで作成してアスキーで鯖にUPしてから
名前を変更すればいい。
0078nobodyさん02/05/01 03:43ID:???
>77
エクスプローラでそのようなファイル名に出来ないだけで、
Windowsでも問題なく.htaccessというファイル名で保存できます。
0079nobodyさん02/05/01 04:19ID:5EicdhAk

ずるぼんあぷろだ
http://zurubon.starange-x.com/uploader/
を設置しようとしているのですが、
(2001年10月27日版)
どういうわけかMP3のうpを失敗してしまいます。
インターネットエクスプローラー6だと、
「ページを表示できません 〜 検索中のページは現在利用できません」
のメッセージがでます。
jpgならOKなのですが、どういう原因が考えられるでしょうか。
error_logが読めればよいのですが、私の借りているサーバー
(pos.to)では読めないのです。

関連しそうなところでは、

411行目には
mp3 => "audio/(mp3|mpg|mpeg|x-mp3|x-mpg)",
がありますし、

# ファイルサイズ制限(キロバイト単位)
$limitk = 8000;
と十分とっています。

よろしくおねがいします。
00807902/05/01 04:20ID:5EicdhAk

また、他にずるぼんに似たタイプの
設置しやすく使いやすいアップローダーがあれば
紹介してもらえると助かります。
画像ではなく自作音源の交換につかう予定です。
なにとぞよろしくおながいします。

0081nobodyさん02/05/01 07:54ID:???
なぜずるぼんあぷろだサポートページで聞かないのですか?
0082 02/05/01 09:50ID:FKLHGJpX
スレ違いかもしれませんが・・

t-cup掲示板のフォームタグが
<form method=POST action="http://xxx.teacup.com/xxxxx/bbs">
という指定になっているんですが、これはCGIではないのでしょうか?
どうやって実現するんでしょう?
0083nobodyさん02/05/01 10:01ID:???
>>82
CGIかもしれませんが、そうでない可能性もあります。
そもそもURIからCGIか否かは判別出来ません。
0084nobodyさん02/05/01 10:05ID:???
                    ,-v-、
                    / _ノ_ノ:^)
                   / _ノ_ノ_ノ /)
                   / ノ ノノ//
       / ̄\       /  ______ ノ
     .r ┤    ト、 ("  `ー" 、   ノ
     |.  \_/  ヽ ``ー-、   ゙  ノ
     |   __( ̄  |   `ヽ''"/'"
     |    __)_ノゝ    ゞ丿
     ヽ___) ノ ヽ\_//
              ( ´∀`)<>>1逝って良し!
              / ヽ  丿\
            /   丿~(  \
            <   /   ゝ  >
            ヽ  ソ    ゞ 丿
           _) ノ    ヽ  (_
          (__ヽ)    (ゝ__)
00858202/05/01 10:34ID:FKLHGJpX
>>83
レスありがとうございます

2chでも、昔は
http://pc.2ch.net/test/read.cgi?bbs=php&key=1019561283&st=xxx...
となっていたのが、新型は
http://pc.2ch.net/test/read.cgi/php/1019561283/50-
のようになってますよね。

この新型の方式(URLに.cgi?xxx=yyyと書かない?)を
どうやって実現しているのか知りたいんです。

今一度ご教授をオナガイシマス
0086nobodyさん02/05/01 10:40ID:???
>>85
PATH_INFO
0087nobodyさん02/05/01 10:47ID:XcrghMuN
>>85
サーバー側で勝手に決めるのでありました。
00888202/05/01 11:15ID:2jCmopot
>>86-87
な、なるほどそうでしたか・・・サーバ側で・・・
本当にスレ違いでした。失礼しました。
00898602/05/01 12:26ID:???
>>88
え?サーバー側ってなに?
よくわからんが、PATH_INFOだよ。
0090nobodyさん02/05/01 12:27ID:???
>>88
まあPerlのコーディングの質問よりはスレ違いじゃないけどな。
00918202/05/01 12:52ID:I1lx35o3
>>89
えっ
すいません、PATH_INFOというのがよく解りません・・・
環境変数でしょうか?
00928602/05/01 13:05ID:???
>>91
そう。
http://www.google.com/search?hl=ja&q=PATH_INFO%82%CC%8Eg%82%A2%95%FB&lr=lang_ja
00938202/05/01 14:02ID:XEPMEynt
>>92
あっ、なるほど! つまり、
xxx.cgi/foo/bar
だったら、環境変数PATH_INFOに/foo/barという文字列が入るという
意味ですね!

やっと理解しました。ありがとうございました!
0094nobodyさん02/05/01 14:20ID:???
>>82
うおおおお!奇跡!俺もちょうどそれ質問しようと思ってたんだYO!
あんたは天使!
0095nobodyさん02/05/02 05:03ID:4Q8ZAUDc

ここ 403 なんですが、何ででしょう?
制限しなきゃならない理由でもあるんでしょうか。
http://www.ncsa.uiuc.edu/demoweb/url-primer.html
0096nobodyさん02/05/02 05:08ID:???
>>95
おまえが嫌いだから
009793602/05/03 14:00ID:???
ログファイルを開く毎に1を足していくにはどうすればいいんでしょうか?
0098nobodyさん02/05/03 14:06ID:???
>97
ファイルを読み書きモードオープンして
ファイル内の数字を変数に格納して
変数に1を足して
ファイルハンドルの位置をファイルの頭に戻して
変数をファイルに書き込んで
ファイルを閉じる。
00999702/05/03 15:01ID:???
>>98
open(IN,"./hoge.txt");
@file=<IN>;
foreach(@file){
@aha=split/<>/;
if ($aha[0] eq "$hoge[2]"){
$aha[19]++;
print "$aha[19]";
}
}
close (IN);
open (OUT,">./hoge.txt");
print OUT "@file";
close (OUT);
こんな感じになりましたが失敗でした。
どこがおかしいのでしょうか?
0100nobodyさん02/05/03 15:13ID:???
redflash(%0a <=> $hot){
hprintx "まんこ\q";
%100 // crush.*++100;
}
0101nobodyさん02/05/03 15:24ID:???
>99
どう失敗したかの説明は?
ファイルが空になるのか、カウントがプラスされないのか、CGI自体が実行できないのか。

tu-ka,
$aha[19]をインクリメントした後、そのデータは@fileに戻ってないだろ?

open(FILE,"+<./hoge.txt");
@file = <FILE>;
foreach(@file){
  @aha=split/<>/;
  if ($aha[0] eq "$hoge[2]"){
    $aha[19]++;
    print "$aha[19]";
    $_ = join('<>',@aha);
    last;  # 書き換えるのが一つならここで終わらせておこう
  }
}
seek(FILE,0,0);
truncate(FILE,0);
print FILE @file;
close (FILE);
01029702/05/03 15:28ID:???
>>101
説明不足でしたすみませえn。
ミスの内容はカウントされなかったことと
上書きができませんでした、、、。
010310102/05/03 15:40ID:???
すみません、質問です。
ほぼ答えを書いたと思ったのに納得してもらえませんでした。
漏れの説明が悪かったのでしょうか?
それとも漏れのやり方に問題があるのでしょうか?
てゆーか、自分の環境でテストしてみなかった漏れが悪いんですか?
どなたかご教授ください。
01049702/05/03 15:40ID:???
1<><><>略
2<><><>略
3<><><>略
↑のようなログファイルの中身が

1<><><>略
<><><>1<><><>1<><><>1
2<><><>略
3<><><>略
こんな感じになってしまいます。
0105nobodyさん02/05/03 15:43ID:???
>104
略してる部分に改行コードがあるんだよきっと。
ログ保存する時は改行コードを取り除くのは基本な。
01069702/05/03 15:46ID:???
>>105
ありがとうございます。
リロードする毎に<><><>1が追加されてしまいます。
1+されていうか、、、。そんな感じです。
01079702/05/03 15:48ID:???
1+されてないというかでした。
0108nobodyさん02/05/03 16:03ID:???
ソースとファイルの中身出せ。
もしくはどこかにアプれ。
略さずに。

憶測だけで言うなら、ファイル内に@ahaの要素となるべきものが足りないんだよ。
きっと$aha[16]に\nが入っている。
それで$aha[19]をインクリメントしているから、joinの際に$aha[19]までをjoinしてしまい、
1<><><>略<>\n<><><>1ってなるんだ。
ファイルの中身の扱いを再確認しろ。
本当に19にカウント用の数字が入っているのか?
01099702/05/03 16:17ID:???
okusokuどうりでした。普通に足せました。
ご迷惑をお掛けしました。
>>101番さんはものすごいソースを私にくれました。
感謝しております。
011011002/05/03 18:15ID:???
質問です。
ログファイルの$hoge[3]にそれぞれ数字がありまして
その数の合計を求めるにはどうすれば宜しいのでしょうか?
ログファイルは\tで区切ってあります。
0111nobodyさん02/05/03 18:27ID:???
ファイル情報を取得するにはどうすれば良いですか?
0112nobodyさん02/05/03 18:40ID:???
>>110
「ログファイルの$hoge[3]」って何よ。
「ログファイルは\tで区切ってあります」ってのはレコード区切りが\nでデータ区切りが\tって事か?

わかるように書いてくれ。いや、大体わかっているんだけどな。
0113nobodyさん02/05/03 18:43ID:G14OVk2t
http://isweb39.infoseek.co.jp/art/aeu/cgi-bin/upload.cgi?env
管理人がチェックを入れたり外したりはどうやればいいの?
http://isweb39.infoseek.co.jp/art/aeu/source/1024.txt
どの辺りか教えて
0114nobodyさん02/05/03 18:48ID:???
>113
ttp://pc.2ch.net/test/read.cgi/php/1012839651/
スクリプト改造工房 part4
0115nobodyさん02/05/03 18:52ID:???
最近多いんだけど、>>1にも書いてある通りPerlのコーディングについては別スレでナー。
回答者さんも気をつけてナー。

【Perl】初心者コーナー Part12
http://pc.2ch.net/test/read.cgi/php/1019917048/
011611002/05/03 18:57ID:???
h   o   g   e   1
h   o   g   e   2
h   o   g   e   3
ローグハーこんな感じデース♪
011798=101=105=10802/05/03 19:17ID:???
>115
すまん。
それを意識して>98を返したつもりだったがかえって長引かせてしまった。
0118nobodyさん02/05/03 21:05ID:DflXvub4
($dummy,$biscuit)=split(/=/,$ENV{'HTTP_COOKIE'});
@cookie=split(/,/,$biscuit);
foreach (@cookie){
($cookname,$cookvalue)=split(/:/,$_);
$cookname=~s/ //; #スペースを除去
$COOKIE{$cookname}=$cookvalue;
}
これで表示部に$COOKIE{hoge}
って書いても読み込みません。
答えてください。
クッキーにはもちろん書き込めています。
0119nobodyさん02/05/03 21:31ID:???
>118
ずいぶん偉そうだな。
何がしたいのかもわからんし。とりあえず生姜工卒業してからこい。
012011802/05/03 21:52ID:F1zwfFCR
>>119
分からないならレスしないでください。
まったく鬱陶しい。
0121nobodyさん02/05/03 22:04ID:???
俺にもわかんないな。
>118の言いたい事が。(笑)
質問にすらなってないしな。
0122さゆ ◆ugYa5.J6 02/05/03 22:07ID:???
>>118
$ENV{'HTTP_COOKIE'}
をそのまま表示すると、「,」が%??にエンコードされてるってことはない?
0123nobodyさん02/05/03 22:16ID:???
>>118
まともな回答がほしければ最低限使用言語と目的くらい書こうな。

>>122
回答するのもいいが"善意の荒らし"になないようにな。
0124nobodyさん02/05/03 22:17ID:???
s/なな/なら/g
0125nobodyさん02/05/03 22:46ID:19v1h41W
Win98+Apache+ActivePerl
フォームのデータをGETでは取得できるのですが
POSTでは値を取得できないのです。

my $buf
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
print $buffer;#取得できない
}
else {$buffer = $ENV{'QUERY_STRING'};}
0126nobodyさん02/05/03 22:57ID:apBthE5H
\n\n\n\n〜等と いくつか続いていたら
\nに置換したいのですが
どうすればよいのでしょうか?
0127nobodyさん02/05/03 22:58ID:???
>>125
とりあえず
$ENV{'CONTENT_LENGTH'})
$ENV{'QUERY_METHOD'})
を表示してみるとか。
0128nobodyさん02/05/03 22:59ID:???
>>126
【Perl】初心者コーナー Part12
http://pc.2ch.net/test/read.cgi/php/1019917048/
へどうぞ。
012912502/05/03 23:11ID:19v1h41W
>>127
$ENV{'CONTENT_LENGTH'}
の方だけ数値が表示されました。
Linuxサーバーで実行した時も同じ現象だったんです。
0130nobodyさん02/05/03 23:27ID:???
>>125
print $buffer;#取得できない
↓
print $buf;
にしてみれば?
013112502/05/03 23:30ID:19v1h41W
>>130
あっ、すみませんそれは投稿時のミスです^^;
013212702/05/03 23:44ID:???
>>129
あぁぁぁ、ごめん。
REQUEST_METHOD
だった・・・
で、print "[$buf]"; みたいに [] でくくると、どうなります?
0133nobodyさん02/05/03 23:48ID:???
Perlのコーディングに関する質問はこちら
【Perl】初心者コーナーPart12
http://pc.2ch.net/test/read.cgi/php/1019917048/
013412902/05/04 00:24ID:KDDclJiB
>>132
レスどうもです。
print "[$buf]";
とすると、
[]
が返されます。

REQUEST_METHOD
ではPOSTが返ってきます。

ifでPOSTの方に入っていますがreadでSTDINから読めていないのですね。

CGIの分類に入りますよね?この記事は。
013512702/05/04 00:36ID:???
>>134
うち(UNIX)で試してみたけど、出るね。
残念ながら、Windowsの問題かも。
あきらめて sysread() を使うか <> で読むしかないかも。

perlの話になってきたので、続きがあればperlスレで。
0136nobodyさん02/05/04 00:59ID:???
>>134
WinNT(SP6a) + Apache + ActivePerl ではちゃんとでますよ
0137nobodyさん02/05/04 01:14ID:???
CGI.pm使って見れ。
それで表示されなけりゃHTTPDのバグ。
表示されれば100%コーディングミス。

tuka晒したコードが全然参考にならん。
ちゃんとコピー&ペーストしろよ。
0138nobodyさん02/05/04 02:01ID:???
どんな html コードから post したのかサパーリ

ワ カ リ マ セ ー ン
013912902/05/04 02:17ID:KDDclJiB
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>$title</TITLE>
</HEAD>
<BODY>
<CENTER>
<FORM action="cgi-bin/test.cgi" id=FORM1 method=post name=FORM1>
<INPUT TYPE="hidden" NAME="md" VALUE="1">
<TABLE bgcolor=#b0b0b0 border=0 cellPadding=3 cellSpacing=2>
<TBODY>
<TR bgcolor=#f0f0f0>
<TD nowrap><FONT size=-1>ハンドル</FONT></TD>
<TD nowrap><INPUT id=hd name=TXT_ID size="22" maxlength="40"></TD>
</TR>
<TR bgcolor=#f0f0f0>
<TD nowrap><FONT size=-1>メッセージ</FONT></TD>
<TD nowrap><INPUT id=ms name=TXT_PASS size="62" maxlength="200"></TD>
</TR>
</TBODY>
</TABLE>
<BR>
<TABLE bgcolor=#b0b0b0 border=0 cellPadding=3 cellSpacing=2>
<TBODY>
<TR bgcolor=#f0f0f0>
<TD nowrap><INPUT id=submit1 name=submit1 type=submit value=" 投稿 "></TD>
<TD nowrap><INPUT id=reset1 name=reset1 type=reset value="リセット"></TD>
</TR>
</TBODY>
</TABLE>
</FORM>
</CENTER>
</BODY>
</HTML>

このフォームです。
0140nobodyさん02/05/04 02:54ID:???
method="POST"
014111002/05/04 09:50ID:oeq3Bzwc
マルチしている馬鹿です。
ログファイルの$hoge[3]にそれぞれ数字がありまして
その数の合計を求めるにはどうすれば宜しいのでしょうか?
ログファイルは\tで区切ってあります。
答えろや!!
0142(゚Д゚)ハァ?02/05/04 10:27ID:???
(゚Д゚)ハァ?
0143nobodyさん02/05/04 10:32ID:???
最近の若者の国語力はこんな感じなのか。
それとも141は外国人なのか。
どちらにしても頭が悪い人は施設に収容した方がいいと思う。
地球の人口も増え続けていることだし、詩んでください141。
0144nobodyさん02/05/04 10:47ID:???
マルチ(;゚∀゚)=3ハァハァ
0145nobodyさん02/05/04 13:28ID:???
>>141
ここで答えてるじゃん・・・
http://pc.2ch.net/test/read.cgi/php/1019561283/319
014614502/05/04 13:28ID:???
>>145
間違った。こっち。
http://pc.2ch.net/test/read.cgi/php/1019917048/319
0147nobodyさん02/05/04 14:21ID:???
>>145-146
たぶんネタだよ。
014814502/05/04 14:26ID:???
>>147
あぅ・・・まさかオレ、ネタニマジレス・・・
014913902/05/04 15:49ID:HBkDorCd
原因がわかりました!!
use CGI;
my $cgi = new CGI;
これのせいでSTDINからPOSTの場合取得できなかったのです。
自前フォームデータ取得と共存できないということなのでしょうか?
0150nobodyさん02/05/04 15:50ID:???
クッキーの読み込みで、
a1
a:aaaa
*
a2
a:aaa
*
a3
a:aa
*
こんな感じで保存されているクッキーがあって、
$COOKIE{a}と書くと
aaaaのみ表示されて、
aaaa
aaa
aa
と表示されません。
どうすればいいのでしょうか?
0151nobodyさん02/05/04 16:41ID:???
↑最近ネタが多いな。
015215002/05/04 17:00ID:???
>>151
ネタじゃないんですが、、、。
0153nobodyさん02/05/04 17:08ID:???
>150
sub a1{$a = "a";}
sub a2{$a = "aa";}
sub a3{$a = "aaa";}
sub a4{$a = "aaaa";}
この書き方から
a
aa
aaa
aaaa
と書く方法があったら教えてくれ。
tu-ka,コーディングに関することは↓こっちで。
ttp://pc.2ch.net/test/read.cgi/php/1019917048/
0154nobodyさん02/05/04 18:10ID:BiCGNSgG
ダウンロードプログラムで、
Content-Disposition: attachment; filename="XXXXX"
Content-Type: Application/octet-stream
をヘッダに設定しています。
NN4,NN6ではうまくいきますが、
IE5,IE6のSSLモードではうまくいきません。
(ダウンロードダイアログでサーバに接続できないエラーになります)
どうすればよいですか?
0155nobodyさん02/05/04 18:16ID:???
>>154
NN4,NN6のSSLモードではうまくいくの?
0156nobodyさん02/05/04 18:34ID:BiCGNSgG
>>155
うまくいきます。
015715502/05/04 18:37ID:???
>>156
むぅ、だとすると、すまんがオレにはわからん。
0158 02/05/04 18:45ID:???
ハァ。誘導してる割にはレベルが低いんだなぁ、、、。
015915402/05/04 18:50ID:BiCGNSgG
IE5,IE6のSSLモードでもうまくいく
方はいらっしゃいますか?
0160あぼーんNGNG
あぼーん
016115502/05/04 18:54ID:???
>>158
ハァ。なら煽ってないで教えてくれよ、、、。
0162nobodyさん02/05/04 20:25ID:???
(´-`).。oO(>>159 インターネットオプションの詳細をいぢってしまったとか?)
■ このスレッドは過去ログ倉庫に格納されています